Commit b3c2cadd41d4e191887701cc90c1c689ba6338e6
1 parent
8ac1c994
Exists in
master
and in
5 other branches
Add software template creation and it boxes
Showing
1 changed file
with
137 additions
and
1 deletions
Show diff stats
lib/tasks/templates.rake
| 1 | +#!/bin/env ruby | |
| 2 | +# encoding: utf-8 | |
| 3 | + | |
| 1 | 4 | namespace :templates do |
| 2 | 5 | namespace :create do |
| 3 | 6 | |
| ... | ... | @@ -13,7 +16,137 @@ namespace :templates do |
| 13 | 16 | task :software => :environment do |
| 14 | 17 | Environment.all.each do |env| |
| 15 | 18 | if env.plugin_enabled?("MpogSoftware") or env.plugin_enabled?("MpogSoftwarePlugin") |
| 19 | + software = Community["software"] | |
| 20 | + | |
| 21 | + if software.nil? | |
| 22 | + software = Community.create!(:name => "Software", :identifier => "software") | |
| 23 | + end | |
| 24 | + | |
| 25 | + software.layout_template = "default" | |
| 26 | + software.is_template = true | |
| 27 | + | |
| 28 | + box1 = software.boxes.where(:position => 1).first | |
| 29 | + box1.blocks.destroy_all | |
| 30 | + software.save! | |
| 31 | + | |
| 32 | + #This box is going to be used for fixed blocks | |
| 33 | + box2 = software.boxes.where(:position => 2).first | |
| 34 | + box2.blocks.destroy_all | |
| 35 | + software.save! | |
| 36 | + | |
| 37 | + box3 = software.boxes.where(:position => 3).first | |
| 38 | + box3.blocks.destroy_all | |
| 39 | + software.save! | |
| 16 | 40 | puts "Software successfully created!" |
| 41 | + | |
| 42 | + categories_block = CategoriesAndTagsBlock.new | |
| 43 | + categories_block.position = 4 | |
| 44 | + categories_block.display = "home_page_only" | |
| 45 | + categories_block.save! | |
| 46 | + box1.blocks << categories_block | |
| 47 | + box1.save! | |
| 48 | + puts "CategoriesAndTagsBlock successfully added to software!" | |
| 49 | + | |
| 50 | + main_block = MainBlock.new | |
| 51 | + main_block.position = 3 | |
| 52 | + main_block.save! | |
| 53 | + box1.blocks << main_block | |
| 54 | + box1.save! | |
| 55 | + | |
| 56 | + download_block = DownloadBlock.new | |
| 57 | + download_block.position = 2 | |
| 58 | + download_block.name = "Versão X.Y" | |
| 59 | + download_block.link = "#" | |
| 60 | + download_block.software_description = "(Windows X, Ubuntu Y, Debian Z)" | |
| 61 | + download_block.version_news = "#" | |
| 62 | + download_block.display = "home_page_only" | |
| 63 | + download_block.save! | |
| 64 | + box1.blocks << download_block | |
| 65 | + box1.save! | |
| 66 | + puts "DownloadBlock successfully added to software!" | |
| 67 | + | |
| 68 | + software_information_block = SoftwareInformationBlock.new | |
| 69 | + software_information_block.position = 1 | |
| 70 | + software_information_block.display = "home_page_only" | |
| 71 | + software_information_block.save! | |
| 72 | + box1.blocks << software_information_block | |
| 73 | + box1.save! | |
| 74 | + puts "SoftwareInformation successfully added to software!" | |
| 75 | + | |
| 76 | + puts "Software Main Box successfully created!" | |
| 77 | + | |
| 78 | + | |
| 79 | + members_block = MembersBlock.new | |
| 80 | + members_block.position = 6 | |
| 81 | + members_block.display = "except_home_page" | |
| 82 | + members_block.name = "" | |
| 83 | + members_block.address = "" | |
| 84 | + members_block.visible_role = "" | |
| 85 | + members_block.limit = 6 | |
| 86 | + members_block.prioritize_profiles_with_image = true | |
| 87 | + members_block.show_join_leave_button = false | |
| 88 | + members_block.title = "Equipe" | |
| 89 | + | |
| 90 | + members_block.save! | |
| 91 | + box3.blocks << members_block | |
| 92 | + box3.save! | |
| 93 | + | |
| 94 | + another_link_list_block = LinkListBlock.new | |
| 95 | + another_link_list_block.position = 5 | |
| 96 | + another_link_list_block.display = "always" | |
| 97 | + another_link_list_block.title = "Participe" | |
| 98 | + links = [{"icon"=>"", "name"=>"Lista de E-mails", "address"=>"http://beta.softwarepublico.gov.br/archives/thread/", "target"=>"_self"}, {"icon"=>"no-icon", "name"=>"Comunidade", "address"=>"/profile/{profile}", "target"=>"_self"}, {"icon"=>"", "name"=>"Blog", "address"=>"/{profile}/blog", "target"=>"_self"}, {"icon"=>"no-icon", "name"=>"Fórum", "address"=>"/{profile}/forum-de-duvidas-e-discussao", "target"=>"_self"}, {"icon"=>"", "name"=>"Convide Amigos", "address"=>"/profile/{profile}/invite/friends", "target"=>"_self"}] | |
| 99 | + | |
| 100 | + another_link_list_block.save! | |
| 101 | + box3.blocks << another_link_list_block | |
| 102 | + another_link_list_block.update_attributes(:links => links) | |
| 103 | + box3.save! | |
| 104 | + puts "LinkListBlock successfully added to software!" | |
| 105 | + | |
| 106 | + | |
| 107 | + repository_block = RepositoryBlock.new | |
| 108 | + repository_block.position = 4 | |
| 109 | + repository_block.display = "always" | |
| 110 | + repository_block.title = "" | |
| 111 | + | |
| 112 | + repository_block.save! | |
| 113 | + box3.blocks << repository_block | |
| 114 | + box3.save! | |
| 115 | + puts "RepositoryBlock successfully added to software!" | |
| 116 | + | |
| 117 | + link_list_block = LinkListBlock.new | |
| 118 | + link_list_block.position = 3 | |
| 119 | + link_list_block.display = "always" | |
| 120 | + link_list_block.title = "Ajuda" | |
| 121 | + link_list_block.links = [{"icon"=>"no-icon", "name"=>"Download de Versões", "address"=>"/{profile}/versoes", "target"=>"_self"}, {"icon"=>"", "name"=>"Pergutas Frequentes", "address"=>"/{profile}/perguntas-frequentes", "target"=>"_self"}, {"icon"=>"no-icon", "name"=>"README", "address"=>"/{profile}/versoes-estaveis", "target"=>"_self"}, {"icon"=>"", "name"=>"Como Instalar", "address"=>"/{profile}/tutorial-de-instalacao", "target"=>"_self"}, {"icon"=>"", "name"=>"Manuais", "address"=>"/{profile}/manuais-de-usuario", "target"=>"_self"}] | |
| 122 | + | |
| 123 | + link_list_block.save! | |
| 124 | + box3.blocks << link_list_block | |
| 125 | + link_list_block.update_attributes(:links => links) | |
| 126 | + box3.save! | |
| 127 | + puts "LinkListBlock successfully added to software!" | |
| 128 | + | |
| 129 | + profile_image_block = ProfileImageBlock.new | |
| 130 | + profile_image_block.position = 2 | |
| 131 | + profile_image_block.display = "except_home_page" | |
| 132 | + profile_image_block.show_name = false | |
| 133 | + profile_image_block.save! | |
| 134 | + | |
| 135 | + box3.blocks << profile_image_block | |
| 136 | + box3.save! | |
| 137 | + puts "ProfileImageBlock successfully added to software!" | |
| 138 | + | |
| 139 | + statistics_block = StatisticsBlock.new | |
| 140 | + statistics_block.position = 1 | |
| 141 | + statistics_block.display = "home_page_only" | |
| 142 | + statistics_block.save! | |
| 143 | + box3.blocks << statistics_block | |
| 144 | + box3.save! | |
| 145 | + puts "StatisticsBlock successfully added to software!" | |
| 146 | + puts "MembersBlock successfully added to software!" | |
| 147 | + puts "Software Box 3 successfully created!" | |
| 148 | + | |
| 149 | + puts "Software Template successfully created!" | |
| 17 | 150 | end |
| 18 | 151 | end |
| 19 | 152 | end |
| ... | ... | @@ -126,9 +259,12 @@ namespace :templates do |
| 126 | 259 | task :destroy => :environment do |
| 127 | 260 | Environment.all.each do |env| |
| 128 | 261 | if env.plugin_enabled?("MpogSoftware") or env.plugin_enabled?("MpogSoftwarePlugin") |
| 129 | - Community["institution"].destroy | |
| 262 | + Community["institution"].destroy unless Community["institution"].nil? | |
| 130 | 263 | puts "Institution template destoyed with success!" |
| 131 | 264 | |
| 265 | + Community["software"].destroy unless Community["software"].nil? | |
| 266 | + puts "Software template destoyed with success!" | |
| 267 | + | |
| 132 | 268 | user = User["people"] |
| 133 | 269 | if !user.nil? |
| 134 | 270 | user.person.destroy | ... | ... |