Class: Decidim::TrustedIds::System::PropagateCensusSettingsJob

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

Instance Method Summary collapse

Instance Method Details

#perform(config_id, keys) ⇒ Object



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

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

  propagate_settings!(@config.organization, keys)
end

#propagate_settings!(organization, keys) ⇒ Object



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

def propagate_settings!(organization, keys)
  Decidim::Organization.where.not(id: organization).find_each do |tenant|
    conf = Decidim::TrustedIds::OrganizationConfig.find_or_create_by(organization: tenant)
    keys.each do |key|
      conf.settings[key] = @config.settings[key]
    end

    conf.save!
  end
end