Class: Decidim::TrustedIds::System::PropagateCensusConfigJob

Inherits:
ApplicationJob
  • Object
show all
Defined in:
app/jobs/decidim/trusted_ids/system/propagate_census_config_job.rb

Instance Method Summary collapse

Instance Method Details

#perform(config_id, keys) ⇒ Object



9
10
11
12
13
14
15
# File 'app/jobs/decidim/trusted_ids/system/propagate_census_config_job.rb', line 9

def perform(config_id, keys)
  @config = Decidim::TrustedIds::OrganizationConfig.find_by(id: config_id)
  return unless @config
  return if keys.blank?

  propagate_config!(@config.organization, keys)
end

#propagate_config!(organization, keys) ⇒ Object



17
18
19
20
21
22
23
24
25
# File 'app/jobs/decidim/trusted_ids/system/propagate_census_config_job.rb', line 17

def propagate_config!(organization, keys)
  Decidim::Organization.where.not(id: organization).find_each do |tenant|
    config = Decidim::TrustedIds::OrganizationConfig.find_or_create_by(organization: tenant)
    config.expiration_days = @config.expiration_days if keys.include?(:expiration_days)
    config.tos = @config.tos if keys.include?(:tos)

    config.save!
  end
end