Add more info in staff action logs for blocking a user, and add logging for lock trust level, activate, and deactive user

This commit is contained in:
Neil Lalonde
2017-01-10 16:45:36 -05:00
parent 0303047446
commit fc0a0a76a4
6 changed files with 41 additions and 4 deletions

View File

@@ -96,6 +96,14 @@ class StaffActionLogger
}))
end
def log_lock_trust_level(user, opts={})
raise Discourse::InvalidParameters.new(:user) unless user && user.is_a?(User)
UserHistory.create!( params(opts).merge({
action: UserHistory.actions[user.trust_level_locked ? :lock_trust_level : :unlock_trust_level],
target_user_id: user.id
}))
end
def log_site_setting_change(setting_name, previous_value, new_value, opts={})
raise Discourse::InvalidParameters.new(:setting_name) unless setting_name.present? && SiteSetting.respond_to?(setting_name)
UserHistory.create( params(opts).merge({
@@ -353,6 +361,15 @@ class StaffActionLogger
}))
end
def log_user_activate(user, reason, opts={})
raise Discourse::InvalidParameters.new(:user) unless user
UserHistory.create(params(opts).merge({
action: UserHistory.actions[:activate_user],
target_user_id: user.id,
details: reason
}))
end
def log_wizard_step(step, opts={})
raise Discourse::InvalidParameters.new(:step) unless step
UserHistory.create(params(opts).merge({

View File

@@ -17,8 +17,11 @@ class UserBlocker
unless @user.blocked?
@user.blocked = true
if @user.save
SystemMessage.create(@user, @opts[:message] || :blocked_by_staff)
StaffActionLogger.new(@by_user).log_block_user(@user) if @by_user
message_type = @opts[:message] || :blocked_by_staff
post = SystemMessage.create(@user, message_type)
if post && @by_user
StaffActionLogger.new(@by_user).log_block_user(@user, {context: "#{message_type}: '#{post.topic&.title rescue ''}'"})
end
end
else
false