FEATURE: Group logs.

This commit is contained in:
Guo Xiang Tan
2016-12-11 23:36:15 +08:00
parent 790f1ef9f3
commit 05f55dbc10
37 changed files with 857 additions and 45 deletions

View File

@ -45,7 +45,7 @@ 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)
save_group(group) { |g| GroupActionLogger.new(current_user, g).log_change_group_settings }
end
def save_group(group)
@ -72,6 +72,9 @@ class Admin::GroupsController < Admin::AdminController
if group.save
Group.reset_counters(group.id, :group_users)
yield(group) if block_given?
render_serialized(group, BasicGroupSerializer)
else
render_json_error group
@ -101,10 +104,14 @@ class Admin::GroupsController < Admin::AdminController
users = User.where(username: params[:usernames].split(","))
users.each do |user|
group_action_logger = GroupActionLogger.new(current_user, group)
if !group.users.include?(user)
group.add(user)
group_action_logger.log_add_user_to_group(user)
end
group.group_users.where(user_id: user.id).update_all(owner: true)
group_action_logger.log_make_user_group_owner(user)
end
Group.reset_counters(group.id, :group_users)
@ -118,6 +125,7 @@ class Admin::GroupsController < Admin::AdminController
user = User.find(params[:user_id].to_i)
group.group_users.where(user_id: user.id).update_all(owner: false)
GroupActionLogger.new(current_user, group).log_remove_user_as_group_owner(user)
Group.reset_counters(group.id, :group_users)