Commit 63bae030c8f879e6a1201e872ddf3c297dcd0a67

Authored by Arthur Esposte
1 parent 007f77bf
Exists in master and in 79 other branches add_sisp_to_chef, add_super_archives_plugin, api_for_colab, automates_core_packing, backup_not_prod, changes_in_buttons_on_content_panel, colab_automated_login, colab_spb_plugin_recipe, colab_widgets_settings, design_validation, dev_env_minimal, disable_email_dev, fix_breadcrumbs_position, fix_categories_software_link, fix_edit_institution, fix_edit_software_with_another_license, fix_get_license_info, fix_gitlab_assets_permission, fix_list_style_inside_article, fix_list_style_on_folder_elements, fix_members_pagination, fix_merge_request_url, fix_models_translations, fix_no_license, fix_software_api, fix_software_block_migration, fix_software_communities_translations, fix_software_communities_unit_test, fix_style_create_institution_admin_panel, fix_superarchives_imports, fix_sym_links_noosfero, focus_search_field_theme, gov-user-refactoring, gov-user-refactoring-rails4, header_fix, institution_modal_on_rating, kalibro-conf-refactoring, kalibro-processor-package, lxc_settings, margin_fix, mezuro_cookbook, prezento, refactor_download_block, refactor_software_communities, refactor_software_for_sisp, register_page, release-process, release-process-v2, remove-unused-images, remove_broken_theme, remove_secondary_email_from_user, remove_sisp_buttons, removing_super_archives_email, review_message, scope2method, signals_user_noosfero, sisp_catalog_header, sisp_colab_config, sisp_dev, sisp_dev_master, sisp_simple_version, software_as_organization, software_catalog_style_fix, software_communities_html_refactor, software_infos_api, spb_minimal_env, spb_to_rails4, spec_refactor, stable-4.1, stable-4.2, stable-4.x, temp_soft_comm_refactoring, theme_header, theme_javascript_refactory, thread_dropdown, thread_page, update_search_by_categories, update_software_api, update_softwares_boxes

Fix migrations to consider software template

db/migrate/20150727161511_change_software_layout.rb
1 1 class ChangeSoftwareLayout < ActiveRecord::Migration
2 2 def up
  3 + software_template = Community["software"]
  4 + if software_template
  5 + change_layout(software_template)
  6 + end
  7 +
3 8 softwares = SoftwareInfo.all
4 9 softwares.each do |software|
5   - software.community.layout_template = "lefttopright"
6   - print "." if software.community.save
7   - boxToMove = software.community.boxes.where(:position => 1).first
8   - blockToMove = boxToMove.blocks.where(:type => "SoftwareInformationBlock").first
9   - if blockToMove
10   - newBox = software.community.boxes.where(:position => 4).first
11   - blockToMove.box = newBox
12   - print "." if blockToMove.save
13   - end
  10 + change_layout(software.community)
14 11 end
  12 +
  13 + puts ""
15 14 end
16 15  
17 16 def down
18 17 end
  18 +
  19 + def change_layout(community)
  20 + community.layout_template = "lefttopright"
  21 + print "." if community.save
  22 + boxToMove = community.boxes.where(:position => 1).first
  23 + blockToMove = boxToMove.blocks.where(:type => "SoftwareInformationBlock").first
  24 + if blockToMove
  25 + newBox = community.boxes.where(:position => 4).first
  26 + blockToMove.box = newBox
  27 + print "." if blockToMove.save
  28 + end
  29 + end
19 30 end
... ...
db/migrate/20150904174335_swap_softwares_blocks_between_areas_2_and_3.rb
1 1 class SwapSoftwaresBlocksBetweenAreas2And3 < ActiveRecord::Migration
2 2 def up
3   - swap_software_blocks_between_areas_2_and_3
  3 + software_template = Community["software"]
  4 + if software_template
  5 + swap_software_blocks_between_areas_2_and_3(software_template)
  6 + end
  7 +
  8 + Community.joins(:software_info).each do |software_community|
  9 + swap_software_blocks_between_areas_2_and_3(software_community)
  10 + end
  11 + puts ""
4 12 end
5 13  
6 14 def down
7   - swap_software_blocks_between_areas_2_and_3
  15 + say "This can't be reverted"
8 16 end
9 17  
10   - def swap_software_blocks_between_areas_2_and_3
11   - Community.joins(:software_info).each do |software_community|
12   - print "."
13   -
14   - # Get areas 2 and 3
15   - box_area_two = software_community.boxes.find_by_position 2
16   - box_area_three = software_community.boxes.find_by_position 3
  18 + def swap_software_blocks_between_areas_2_and_3(software_community)
  19 + print "."
17 20  
18   - # Get all ids of blocks from areas 2 and 3
19   - blocks_ids_from_area_two = box_area_two.blocks.select(:id).map(&:id)
20   - blocks_ids_from_area_three = box_area_three.blocks.select(:id).map(&:id)
  21 + # Get areas 2 and 3
  22 + box_area_two = software_community.boxes.find_by_position 2
  23 + box_area_three = software_community.boxes.find_by_position 3
21 24  
22   - # Swap blocks from area 2 to 3
23   - Block.update_all({:box_id=>box_area_three.id}, ["id IN (?)", blocks_ids_from_area_two])
  25 + # Get all ids of blocks from areas 2 and 3
  26 + blocks_ids_from_area_two = box_area_two.blocks.select(:id).map(&:id)
  27 + blocks_ids_from_area_three = box_area_three.blocks.select(:id).map(&:id)
24 28  
25   - # Swap blocks from area 3 to 2
26   - Block.update_all({:box_id=>box_area_two.id}, ["id IN (?)", blocks_ids_from_area_three])
27   - end
  29 + # Swap blocks from area 2 to 3
  30 + Block.update_all({:box_id=>box_area_three.id}, ["id IN (?)", blocks_ids_from_area_two])
28 31  
29   - puts ""
  32 + # Swap blocks from area 3 to 2
  33 + Block.update_all({:box_id=>box_area_two.id}, ["id IN (?)", blocks_ids_from_area_three])
30 34 end
31 35 end
32   -
... ...
db/migrate/20150904181508_add_communities_ratings_block_to_all_softwares_communities.rb
1 1 class AddCommunitiesRatingsBlockToAllSoftwaresCommunities < ActiveRecord::Migration
2 2 def up
  3 + software_template = Community["software"]
  4 + if software_template
  5 + software_area_one = software_template.boxes.find_by_position 1
  6 +
  7 + template_ratings_block = CommunitiesRatingsBlock.new :mirror => true, :move_modes => "none", :edit_modes => "none"
  8 + template_ratings_block.settings[:fixed] = true
  9 + template_ratings_block.display = "home_page_only"
  10 + template_ratings_block.save!
  11 + print "."
  12 +
  13 + software_area_one.blocks << template_ratings_block
  14 + software_area_one.save!
  15 + print "."
  16 +
  17 + # Puts the ratings block as the last one on area one
  18 + last_block_position = software_area_one.blocks.order(:position).last.position
  19 + template_ratings_block.position = last_block_position + 1
  20 + template_ratings_block.save!
  21 + print "."
  22 + end
  23 +
3 24 Community.joins(:software_info).each do |software_community|
4 25 software_area_one = software_community.boxes.find_by_position 1
5 26 print "."
6 27  
7   - ratings_block = CommunitiesRatingsBlock.new :mirror => true, :move_modes => "none", :edit_modes => "none"
  28 + ratings_block = CommunitiesRatingsBlock.new :move_modes => "none", :edit_modes => "none"
8 29 ratings_block.settings[:fixed] = true
9 30 ratings_block.display = "home_page_only"
  31 + ratings_block.mirror_block_id = template_ratings_block.id
10 32 ratings_block.save!
11 33 print "."
12 34  
... ... @@ -25,6 +47,6 @@ class AddCommunitiesRatingsBlockToAllSoftwaresCommunities &lt; ActiveRecord::Migrat
25 47 end
26 48  
27 49 def down
28   - CommunitiesRatingsBlock.destroy_all
  50 + say "This can't be reverted"
29 51 end
30 52 end
... ...
db/migrate/20150904202116_add_software_tab_data_block_to_all_softwares.rb
1 1 class AddSoftwareTabDataBlockToAllSoftwares < ActiveRecord::Migration
2 2 def up
  3 + software_template = Community["software"]
  4 + if software_template
  5 + software_area_one = software_template.boxes.find_by_position 1
  6 +
  7 + template_soft_tab_block = SoftwareTabDataBlock.new :mirror => true, :move_modes => "none", :edit_modes => "none"
  8 + template_soft_tab_block.settings[:fixed] = true
  9 + template_soft_tab_block.display = "except_home_page"
  10 + template_soft_tab_block.save!
  11 + print "."
  12 +
  13 + software_area_one.blocks << template_soft_tab_block
  14 + software_area_one.save!
  15 + print "."
  16 +
  17 + # Puts the ratings block as the last one on area one
  18 + last_block_position = software_area_one.blocks.order(:position).last.position
  19 + template_soft_tab_block.position = last_block_position + 1
  20 + template_soft_tab_block.save!
  21 + print "."
  22 + end
  23 +
3 24 Community.joins(:software_info).each do |software_community|
4 25 software_area_one = software_community.boxes.find_by_position 1
5 26 print "."
6 27  
7   - soft_tab_block = SoftwareTabDataBlock.new :mirror => true, :move_modes => "none", :edit_modes => "none"
  28 + soft_tab_block = SoftwareTabDataBlock.new :move_modes => "none", :edit_modes => "none"
8 29 soft_tab_block.settings[:fixed] = true
9 30 soft_tab_block.display = "except_home_page"
  31 + soft_tab_block.mirror_block_id = template_soft_tab_block.id
10 32 soft_tab_block.save!
11 33 print "."
12 34  
... ... @@ -25,6 +47,6 @@ class AddSoftwareTabDataBlockToAllSoftwares &lt; ActiveRecord::Migration
25 47 end
26 48  
27 49 def down
28   - SoftwareTabDataBlock.destroy_all
  50 + say "This can't be reverted"
29 51 end
30 52 end
... ...