Class: Jobs::CreateUserReviewable
- Defined in:
- app/jobs/regular/create_user_reviewable.rb
Instance Attribute Summary collapse
-
#reviewable ⇒ Object
readonly
Returns the value of attribute reviewable.
Instance Method Summary collapse
Methods inherited from Base
acquire_cluster_concurrency_lock!, clear_cluster_concurrency_lock!, cluster_concurrency, cluster_concurrency_redis_key, delayed_perform, #error_context, get_cluster_concurrency, #last_db_duration, #log, #perform, #perform_immediately
Instance Attribute Details
#reviewable ⇒ Object (readonly)
Returns the value of attribute reviewable.
4 5 6 |
# File 'app/jobs/regular/create_user_reviewable.rb', line 4 def reviewable @reviewable end |
Instance Method Details
#execute(args) ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'app/jobs/regular/create_user_reviewable.rb', line 6 def execute(args) raise Discourse::InvalidParameters if args[:user_id].blank? reason = nil reason ||= :must_approve_users if SiteSetting.must_approve_users? reason ||= :invite_only if SiteSetting.invite_only? return unless reason if user = User.find_by(id: args[:user_id]) return if user.approved? @reviewable = ReviewableUser.needs_review!( target: user, created_by: Discourse.system_user, reviewable_by_moderator: true, payload: { username: user.username, name: user.name, email: user.email, website: user.user_profile&.website, }, ) if @reviewable.created_new @reviewable.add_score( Discourse.system_user, ReviewableScore.types[:needs_approval], reason: reason, force_review: true, ) end end end |