mirror of
https://github.com/discourse/discourse.git
synced 2025-05-30 15:28:37 +08:00
FIX: Reviewables should not be created for users until they are active
Conversely, if a user is deactivated the reviewable should automatically be rejected. Before this fix, if a user was not active they'd still show in the review queue but without an "Approve" button which was confusing.
This commit is contained in:
@ -116,7 +116,6 @@ class User < ActiveRecord::Base
|
||||
after_create :set_random_avatar
|
||||
after_create :ensure_in_trust_level_group
|
||||
after_create :set_default_categories_preferences
|
||||
after_create :create_reviewable
|
||||
|
||||
before_save :update_username_lower
|
||||
before_save :ensure_password_is_hashed
|
||||
@ -898,10 +897,15 @@ class User < ActiveRecord::Base
|
||||
else
|
||||
self.update!(active: true)
|
||||
end
|
||||
create_reviewable
|
||||
end
|
||||
|
||||
def deactivate
|
||||
def deactivate(performed_by)
|
||||
self.update!(active: false)
|
||||
|
||||
if reviewable = ReviewableUser.pending.find_by(target: self)
|
||||
reviewable.perform(performed_by, :reject)
|
||||
end
|
||||
end
|
||||
|
||||
def change_trust_level!(level, opts = nil)
|
||||
@ -1242,14 +1246,7 @@ class User < ActiveRecord::Base
|
||||
return unless SiteSetting.must_approve_users? || SiteSetting.invite_only?
|
||||
return if approved?
|
||||
|
||||
reviewable = ReviewableUser.needs_review!(target: self, created_by: Discourse.system_user, reviewable_by_moderator: true)
|
||||
reviewable.add_score(
|
||||
Discourse.system_user,
|
||||
ReviewableScore.types[:needs_approval],
|
||||
force_review: true
|
||||
)
|
||||
|
||||
reviewable
|
||||
Jobs.enqueue(:create_user_reviewable, user_id: self.id)
|
||||
end
|
||||
|
||||
def create_user_stat
|
||||
|
Reference in New Issue
Block a user