FEATURE: Webhook for group and category events

This commit is contained in:
Vinoth Kannan
2018-03-27 11:53:35 +05:30
parent 9d6d8631ad
commit e7407d0adc
13 changed files with 151 additions and 10 deletions

View File

@ -55,7 +55,10 @@ class Admin::GroupsController < Admin::AdminController
# group rename is ignored for automatic groups
group.name = group_params[:name] if group_params[:name] && !group.automatic
save_group(group) { |g| GroupActionLogger.new(current_user, g).log_change_group_settings }
save_group(group) do |group|
GroupActionLogger.new(current_user, group).log_change_group_settings
DiscourseEvent.trigger(:group_updated, group)
end
end
def save_group(group)

View File

@ -149,6 +149,7 @@ class CategoriesController < ApplicationController
old_permissions = cat.permissions_params
if result = cat.update(category_params)
DiscourseEvent.trigger(:category_updated, cat)
Scheduler::Defer.later "Log staff action change category settings" do
@staff_action_logger.log_category_settings_change(@category, category_params, old_permissions)
end
@ -165,6 +166,7 @@ class CategoriesController < ApplicationController
custom_slug = params[:slug].to_s
if custom_slug.present? && @category.update_attributes(slug: custom_slug)
DiscourseEvent.trigger(:category_updated, @category)
render json: success_json
else
render_json_error(@category)

View File

@ -122,6 +122,7 @@ class GroupsController < ApplicationController
if group.update_attributes(group_params)
GroupActionLogger.new(current_user, group).log_change_group_settings
DiscourseEvent.trigger(:group_updated, group)
render json: success_json
else