Commit 63bae030c8f879e6a1201e872ddf3c297dcd0a67
1 parent
007f77bf
Exists in
master
and in
79 other branches
Fix migrations to consider software template
Showing
4 changed files
with
90 additions
and
32 deletions
Show diff stats
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 < 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 < 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 | ... | ... |