Sha256: 85d9d36bca3113343a049602e8c9bacea644bc520af59517d3195230dd41372c

Contents?: true

Size: 1.01 KB

Versions: 2

Compression:

Stored size: 1.01 KB

Contents

# frozen_string_literal: true

class MoveOrganizationFieldsToHeroContentBlock < ActiveRecord::Migration[5.2]
  class ::Decidim::Organization < Decidim::ApplicationRecord
    mount_uploader :homepage_image, ::Decidim::HomepageImageUploader
  end

  def change
    Decidim::ContentBlock.reset_column_information
    Decidim::Organization.find_each do |organization|
      content_block = Decidim::ContentBlock.find_by(organization: organization, scope: :homepage, manifest_name: :hero)
      settings = {}
      welcome_text = organization.welcome_text || {}
      settings = welcome_text.inject(settings) { |acc, (k, v)| acc.update("welcome_text_#{k}" => v) }

      content_block.settings = settings
      content_block.images_container.background_image = organization.homepage_image.file
      content_block.settings_will_change!
      content_block.images_will_change!
      content_block.save!
    end

    remove_column :decidim_organizations, :welcome_text
    remove_column :decidim_organizations, :homepage_image
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
decidim-core-0.14.4 db/migrate/20180810092428_move_organization_fields_to_hero_content_block.rb
decidim-core-0.14.3 db/migrate/20180810092428_move_organization_fields_to_hero_content_block.rb