Sha256: 0a841769575245ea09905f9559af9abcd3c7e40bdffc4ac18e8f7c5b8316818b

Contents?: true

Size: 1.1 KB

Versions: 45

Compression:

Stored size: 1.1 KB

Contents

# frozen_string_literal: true

class FixAttachmentsTitles < ActiveRecord::Migration[5.2]
  def up
    reset_column_information

    PaperTrail.request(enabled: false) do
      Decidim::Attachment.find_each do |attachment|
        next if attachment.title.is_a?(Hash) && attachment.description.is_a?(Hash)

        attached_to = attachment.attached_to
        locale = attached_to.try(:locale).presence ||
                 attached_to.try(:default_locale).presence ||
                 attached_to.try(:organization).try(:default_locale).presence ||
                 Decidim.default_locale

        # rubocop:disable Rails/SkipsModelValidations
        values = {}
        values[:title] = { locale => attachment.title } unless attachment.title.is_a?(Hash)
        values[:description] = { locale => attachment.description } unless attachment.description.is_a?(Hash)

        attachment.update_columns(values)
        # rubocop:enable Rails/SkipsModelValidations
      end
    end

    reset_column_information
  end

  def down; end

  def reset_column_information
    Decidim::Attachment.reset_column_information
  end
end

Version data entries

45 entries across 45 versions & 1 rubygems

Version Path
decidim-participatory_processes-0.25.0.rc4 db/migrate/20201006072346_fix_attachments_titles.rb
decidim-participatory_processes-0.25.0.rc3 db/migrate/20201006072346_fix_attachments_titles.rb
decidim-participatory_processes-0.25.0.rc2 db/migrate/20201006072346_fix_attachments_titles.rb
decidim-participatory_processes-0.25.0.rc1 db/migrate/20201006072346_fix_attachments_titles.rb
decidim-participatory_processes-0.24.3 db/migrate/20201006072346_fix_attachments_titles.rb