Commit 122dd00b0f9cfe9cdb772cf4d2d5f69724d0b138

Authored by Victor Costa
1 parent 07e6b5ab

display_content: added migration to update sections attribute

plugins/display_content/db/migrate/20140520100130_update_display_content_sections_array.rb 0 → 100644
... ... @@ -0,0 +1,30 @@
  1 +class UpdateDisplayContentSectionsArray < ActiveRecord::Migration
  2 +
  3 + def self.up
  4 + translator = {'Publish date' => 'publish_date', 'Title' => 'title', 'Abstract' => 'abstract', 'Body' => 'body', 'Image' => 'image', 'Tags' => 'tags',
  5 + 'Data de publicação' => 'publish_date', 'Título' => 'title', 'Resumo' => 'abstract', 'Corpo' => 'body', 'Imagem' => 'image'}
  6 +
  7 + DisplayContentBlock.find_each do |block|
  8 + new_sections = []
  9 +
  10 + block.sections.each do |section|
  11 + new_value = translator[section["name"]]
  12 + new_section = new_value.blank? ? section : {:value => new_value, :checked => !section["checked"].blank? }
  13 +
  14 + new_section_to_update = new_sections.select {|s| s[:value] == new_value}.first
  15 + if new_section_to_update.blank?
  16 + new_sections << new_section
  17 + else
  18 + new_section_to_update[:checked] = new_section[:checked]
  19 + end
  20 + end
  21 + block.sections = new_sections
  22 + block.update_attribute(:settings, block.settings)
  23 + end
  24 + end
  25 +
  26 + def self.down
  27 + raise "this migration can't be reverted"
  28 + end
  29 +
  30 +end
... ...