FIX: Better handling for toggling must_approve_users

If you turn it on now, default all users to approved since they were
previously. Also support approving a user that doesn't have a reviewable
record (it will be created first.)

This also includes a refactor to move class method calls to
`DiscourseEvent` into an initializer. Otherwise the load order of
classes makes a difference in the test environment and some settings
might be triggered and others not, randomly.
This commit is contained in:
Robin Ward
2019-04-16 14:42:47 -04:00
parent cec0b580e6
commit ba6d4b2a8d
20 changed files with 103 additions and 61 deletions

View File

@@ -14,8 +14,7 @@ class AdminUserSerializer < AdminUserListSerializer
has_one :single_sign_on_record, serializer: SingleSignOnRecordSerializer, embed: :objects
def can_approve
reviewable = ReviewableUser.find_by(target: object)
reviewable.present? && reviewable.actions_for(scope).has?(:approve)
scope.can_approve?(object)
end
def include_can_approve?