DEV: Update plugin to match latest guidelines (#448)
This commit updates the plugin to follow the latest guidelines, as shown in discourse-plugin-skeleton, removing the explicit require calls and using config/routes.rb for defining all routes.
This commit is contained in:
parent
aec66333f4
commit
8548df4138
|
@ -9,3 +9,25 @@ DiscourseAssign::Engine.routes.draw do
|
|||
get "/members/:group_name" => "assign#group_members"
|
||||
get "/user-menu-assigns" => "assign#user_menu_assigns"
|
||||
end
|
||||
|
||||
Discourse::Application.routes.append do
|
||||
mount ::DiscourseAssign::Engine, at: "/assign"
|
||||
|
||||
get "topics/private-messages-assigned/:username" => "list#private_messages_assigned",
|
||||
:as => "topics_private_messages_assigned",
|
||||
:constraints => {
|
||||
username: ::RouteFormat.username,
|
||||
}
|
||||
get "/topics/messages-assigned/:username" => "list#messages_assigned",
|
||||
:constraints => {
|
||||
username: ::RouteFormat.username,
|
||||
},
|
||||
:as => "messages_assigned"
|
||||
get "/topics/group-topics-assigned/:groupname" => "list#group_topics_assigned",
|
||||
:constraints => {
|
||||
username: ::RouteFormat.username,
|
||||
},
|
||||
:as => "group_topics_assigned"
|
||||
get "/g/:id/assigned" => "groups#index"
|
||||
get "/g/:id/assigned/:route_type" => "groups#index"
|
||||
end
|
||||
|
|
|
@ -0,0 +1,8 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
module ::DiscourseAssign
|
||||
class Engine < ::Rails::Engine
|
||||
engine_name PLUGIN_NAME
|
||||
isolate_namespace DiscourseAssign
|
||||
end
|
||||
end
|
80
plugin.rb
80
plugin.rb
|
@ -14,67 +14,29 @@ register_asset "stylesheets/mobile/assigns.scss", :mobile
|
|||
|
||||
%w[user-plus user-times group-plus group-times].each { |i| register_svg_icon(i) }
|
||||
|
||||
require_relative "app/models/assign_mailer_site_settings.rb"
|
||||
require_relative "app/models/remind_assigns_frequency_site_settings.rb"
|
||||
require_relative "lib/validators/assign_statuses_validator.rb"
|
||||
module ::DiscourseAssign
|
||||
PLUGIN_NAME = "discourse-assign"
|
||||
end
|
||||
|
||||
require_relative "lib/discourse_assign/engine"
|
||||
require_relative "lib/validators/assign_statuses_validator"
|
||||
|
||||
after_initialize do
|
||||
module ::DiscourseAssign
|
||||
PLUGIN_NAME = "discourse-assign"
|
||||
|
||||
class Engine < ::Rails::Engine
|
||||
engine_name DiscourseAssign::PLUGIN_NAME
|
||||
isolate_namespace DiscourseAssign
|
||||
end
|
||||
end
|
||||
|
||||
require_relative "app/controllers/discourse_assign/assign_controller.rb"
|
||||
require_relative "app/mailers/assign_mailer.rb"
|
||||
require_relative "app/models/assign_mailer_site_settings.rb"
|
||||
require_relative "app/models/assignment.rb"
|
||||
require_relative "app/models/remind_assigns_frequency_site_settings.rb"
|
||||
require_relative "app/serializers/assigned_group_serializer.rb"
|
||||
require_relative "app/serializers/assigned_topic_serializer.rb"
|
||||
require_relative "app/serializers/group_user_assigned_serializer.rb"
|
||||
require_relative "config/routes.rb"
|
||||
require_relative "jobs/regular/assign_notification.rb"
|
||||
require_relative "jobs/regular/remind_user.rb"
|
||||
require_relative "jobs/regular/unassign_notification.rb"
|
||||
require_relative "jobs/scheduled/enqueue_reminders.rb"
|
||||
require_relative "lib/assigner.rb"
|
||||
require_relative "lib/discourse_assign/discourse_calendar.rb"
|
||||
require_relative "lib/discourse_assign/group_extension.rb"
|
||||
require_relative "lib/discourse_assign/helpers.rb"
|
||||
require_relative "lib/discourse_assign/list_controller_extension.rb"
|
||||
require_relative "lib/discourse_assign/post_extension.rb"
|
||||
require_relative "lib/discourse_assign/topic_extension.rb"
|
||||
require_relative "lib/discourse_assign/web_hook_extension.rb"
|
||||
require_relative "lib/pending_assigns_reminder.rb"
|
||||
require_relative "lib/random_assign_utils.rb"
|
||||
require_relative "lib/topic_assigner.rb"
|
||||
require_relative "lib/validators/assign_statuses_validator.rb"
|
||||
|
||||
Discourse::Application.routes.append do
|
||||
mount ::DiscourseAssign::Engine, at: "/assign"
|
||||
|
||||
get "topics/private-messages-assigned/:username" => "list#private_messages_assigned",
|
||||
:as => "topics_private_messages_assigned",
|
||||
:constraints => {
|
||||
username: ::RouteFormat.username,
|
||||
}
|
||||
get "/topics/messages-assigned/:username" => "list#messages_assigned",
|
||||
:constraints => {
|
||||
username: ::RouteFormat.username,
|
||||
},
|
||||
:as => "messages_assigned"
|
||||
get "/topics/group-topics-assigned/:groupname" => "list#group_topics_assigned",
|
||||
:constraints => {
|
||||
username: ::RouteFormat.username,
|
||||
},
|
||||
:as => "group_topics_assigned"
|
||||
get "/g/:id/assigned" => "groups#index"
|
||||
get "/g/:id/assigned/:route_type" => "groups#index"
|
||||
end
|
||||
require_relative "app/jobs/regular/assign_notification"
|
||||
require_relative "app/jobs/regular/remind_user"
|
||||
require_relative "app/jobs/regular/unassign_notification"
|
||||
require_relative "app/jobs/scheduled/enqueue_reminders"
|
||||
require_relative "lib/assigner"
|
||||
require_relative "lib/discourse_assign/discourse_calendar"
|
||||
require_relative "lib/discourse_assign/group_extension"
|
||||
require_relative "lib/discourse_assign/helpers"
|
||||
require_relative "lib/discourse_assign/list_controller_extension"
|
||||
require_relative "lib/discourse_assign/post_extension"
|
||||
require_relative "lib/discourse_assign/topic_extension"
|
||||
require_relative "lib/discourse_assign/web_hook_extension"
|
||||
require_relative "lib/pending_assigns_reminder"
|
||||
require_relative "lib/random_assign_utils"
|
||||
require_relative "lib/topic_assigner"
|
||||
|
||||
reloadable_patch do |plugin|
|
||||
Group.class_eval { prepend DiscourseAssign::GroupExtension }
|
||||
|
|
Loading…
Reference in New Issue