FEATURE: deactive users after too many bounces

This commit is contained in:
Régis Hanol
2016-07-25 18:57:06 +02:00
parent e52c0e2087
commit b0f7e4ba00
5 changed files with 40 additions and 13 deletions

View File

@@ -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

View File

@@ -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