mirror of
https://github.com/discourse/discourse.git
synced 2025-06-06 13:06:56 +08:00
log when staff blocks/unblocks someone
This commit is contained in:
@ -44,7 +44,9 @@ class UserHistory < ActiveRecord::Base
|
|||||||
change_category_settings: 26,
|
change_category_settings: 26,
|
||||||
delete_category: 27,
|
delete_category: 27,
|
||||||
create_category: 28,
|
create_category: 28,
|
||||||
change_site_text: 29)
|
change_site_text: 29,
|
||||||
|
block_user: 30,
|
||||||
|
unblock_user: 31)
|
||||||
end
|
end
|
||||||
|
|
||||||
# Staff actions is a subset of all actions, used to audit actions taken by staff users.
|
# Staff actions is a subset of all actions, used to audit actions taken by staff users.
|
||||||
@ -70,7 +72,9 @@ class UserHistory < ActiveRecord::Base
|
|||||||
:reviewed_post,
|
:reviewed_post,
|
||||||
:change_category_settings,
|
:change_category_settings,
|
||||||
:delete_category,
|
:delete_category,
|
||||||
:create_category]
|
:create_category,
|
||||||
|
:block_user,
|
||||||
|
:unblock_user]
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.staff_action_ids
|
def self.staff_action_ids
|
||||||
|
@ -280,6 +280,22 @@ class StaffActionLogger
|
|||||||
}))
|
}))
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def log_block_user(user, opts={})
|
||||||
|
raise Discourse::InvalidParameters.new(:user) unless user
|
||||||
|
UserHistory.create( params(opts).merge({
|
||||||
|
action: UserHistory.actions[:block_user],
|
||||||
|
target_user_id: user.id
|
||||||
|
}))
|
||||||
|
end
|
||||||
|
|
||||||
|
def log_unblock_user(user, opts={})
|
||||||
|
raise Discourse::InvalidParameters.new(:user) unless user
|
||||||
|
UserHistory.create( params(opts).merge({
|
||||||
|
action: UserHistory.actions[:unblock_user],
|
||||||
|
target_user_id: user.id
|
||||||
|
}))
|
||||||
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
||||||
def params(opts=nil)
|
def params(opts=nil)
|
||||||
|
@ -18,6 +18,7 @@ class UserBlocker
|
|||||||
@user.blocked = true
|
@user.blocked = true
|
||||||
if @user.save
|
if @user.save
|
||||||
SystemMessage.create(@user, @opts[:message] || :blocked_by_staff)
|
SystemMessage.create(@user, @opts[:message] || :blocked_by_staff)
|
||||||
|
StaffActionLogger.new(@by_user).log_block_user(@user) if @by_user
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
false
|
false
|
||||||
@ -34,6 +35,7 @@ class UserBlocker
|
|||||||
@user.blocked = false
|
@user.blocked = false
|
||||||
if @user.save
|
if @user.save
|
||||||
SystemMessage.create(@user, :unblocked)
|
SystemMessage.create(@user, :unblocked)
|
||||||
|
StaffActionLogger.new(@by_user).log_unblock_user(@user) if @by_user
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -2280,6 +2280,8 @@ en:
|
|||||||
change_category_settings: "change category settings"
|
change_category_settings: "change category settings"
|
||||||
delete_category: "delete category"
|
delete_category: "delete category"
|
||||||
create_category: "create category"
|
create_category: "create category"
|
||||||
|
block_user: "block user"
|
||||||
|
unblock_user: "unblock user"
|
||||||
screened_emails:
|
screened_emails:
|
||||||
title: "Screened Emails"
|
title: "Screened Emails"
|
||||||
description: "When someone tries to create a new account, the following email addresses will be checked and the registration will be blocked, or some other action performed."
|
description: "When someone tries to create a new account, the following email addresses will be checked and the registration will be blocked, or some other action performed."
|
||||||
|
Reference in New Issue
Block a user