mirror of
https://github.com/discourse/discourse.git
synced 2025-06-02 04:08:41 +08:00
FEATURE: Webhook for group and category events
This commit is contained in:
@ -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)
|
||||
|
@ -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)
|
||||
|
@ -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
|
||||
|
Reference in New Issue
Block a user