mirror of
https://github.com/discourse/discourse.git
synced 2025-02-25 18:55:32 -06:00
FEATURE: deactive users after too many bounces
This commit is contained in:
@@ -53,7 +53,8 @@ class UserHistory < ActiveRecord::Base
|
||||
revoke_moderation: 35,
|
||||
backup_operation: 36,
|
||||
rate_limited_like: 37, # not used anymore
|
||||
revoke_email: 38
|
||||
revoke_email: 38,
|
||||
deactivate_user: 39,
|
||||
)
|
||||
end
|
||||
|
||||
@@ -88,7 +89,8 @@ class UserHistory < ActiveRecord::Base
|
||||
:grant_moderation,
|
||||
:revoke_moderation,
|
||||
:backup_operation,
|
||||
:revoke_email]
|
||||
:revoke_email,
|
||||
:deactivate_user]
|
||||
end
|
||||
|
||||
def self.staff_action_ids
|
||||
|
||||
@@ -336,11 +336,20 @@ class StaffActionLogger
|
||||
}))
|
||||
end
|
||||
|
||||
def log_revoke_email(user, opts={})
|
||||
def log_revoke_email(user, reason, opts={})
|
||||
UserHistory.create(params(opts).merge({
|
||||
action: UserHistory.actions[:revoke_email],
|
||||
target_user_id: user.id,
|
||||
details: "Won't be sending emails to '#{user.email}' until #{user.user_stat.reset_bounce_score_after}"
|
||||
details: reason
|
||||
}))
|
||||
end
|
||||
|
||||
def log_user_deactivate(user, reason, opts={})
|
||||
raise Discourse::InvalidParameters.new(:user) unless user
|
||||
UserHistory.create(params(opts).merge({
|
||||
action: UserHistory.actions[:deactivate_user],
|
||||
target_user_id: user.id,
|
||||
details: reason
|
||||
}))
|
||||
end
|
||||
|
||||
|
||||
Reference in New Issue
Block a user