Class: Jobs::AutomaticGroupMembership
- Defined in:
- app/jobs/regular/automatic_group_membership.rb
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 Method Details
#execute(args) ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
# File 'app/jobs/regular/automatic_group_membership.rb', line 5 def execute(args) group_id = args[:group_id] raise Discourse::InvalidParameters.new(:group_id) if group_id.blank? group = Group.find_by(id: group_id) raise Discourse::InvalidParameters.new(:group_id) if group.nil? domains = group.automatic_membership_email_domains return if domains.blank? Group .automatic_membership_users(domains) .find_each do |user| next unless user.email_confirmed? group.add(user, automatic: true) GroupActionLogger.new(Discourse.system_user, group).log_add_user_to_group(user) end end |