Commit f75ad204938ea820ca98865d5b118c855a3e413f

Authored by Gabriel Silva
1 parent cce16a6b

Finishes sisp import and template creation tasks

Signed-off-by: Gabriel Silva <gabriel93.silva@gmail.com>
Signed-off-by: Gustavo Coelho <gust.rod.coelho@gmail.com>
src/noosfero-spb/software_communities/lib/tasks/import_sisp_software.rake
1 1 # encoding: UTF-8
2 2  
3   -namespace :software do
  3 +namespace :sisp do
  4 + desc "Creates SISP env, template, and import data"
  5 + task :all => :environment do
  6 + Rake::Task['sisp:create_env'].invoke
  7 + Rake::Task['sisp:create_template'].invoke
  8 + Rake::Task['sisp:import_data'].invoke
  9 + end
  10 +
  11 + desc "Creates the SISP Environment"
  12 + task :create_env => :environment do
  13 + env = Environment.create!(name: "SISP")
  14 + env.domains << Domain.create!(name: "dev.sisp.gov.br")
  15 + create_link_blocks env
  16 +
  17 + puts "SISP Environment created"
  18 + end
  19 +
  20 + def create_link_blocks template
  21 + box_2 = template.boxes.find_by_position(2)
  22 + box_2.blocks.destroy_all
  23 + box_2.blocks << LinkListBlock.new(:mirror => true,
  24 + :links => [{:name=>"Catálogo de Software", :address=>"/search/sisp", :target=>"_self"},
  25 + {:name=>"Ajuda", :address=>"/", :target=>"_self"}])
  26 + box_2.blocks << LinkListBlock.new(:title => "Software SISP", :mirror => true,
  27 + :links => [{:name=>"Publique seu Software", :address=>"/", :target=>"_self"},
  28 + {:name=>"Vídeos", :address=>"/", :target=>"_self"}])
  29 + box_2.blocks << LinkListBlock.new(:title => "Portal do SISP", :mirror => true,
  30 + :links => [{:name=>"Sobre o Portal", :address=>"/", :target=>"_self"},
  31 + {:name=>"Contato", :address=>"/", :target=>"_self"},
  32 + {:name=>"Notícias", :address=>"/", :target=>"_self"}])
  33 + end
  34 +
4 35 desc "Creates SISP software template"
5   - task :create_sisp_template => :environment do
6   - env = Environment.find_by_name("sisp")
  36 + task :create_template => :environment do
  37 + env = Environment.find_by_name("SISP")
7 38  
8 39 if env.present?
9 40 template = Community.where(identifier: "sisp-software", environment_id: env).last
... ... @@ -11,15 +42,17 @@ namespace :software do
11 42 template = Community.create!(name: "Sisp Software", identifier: "sisp-software", is_template: true, environment: env)
12 43  
13 44 template.update_layout_template("leftbar")
14   - create_blocks_box_1 template
15   - create_blocks_box_2 template
  45 + create_template_blocks template
  46 + create_link_blocks template
16 47  
17 48 env.community_default_template = template
18 49 env.save!
19 50 end
  51 +
  52 + puts "SISP Template created"
20 53 end
21 54  
22   - def create_blocks_box_1 template
  55 + def create_template_blocks template
23 56 box_1 = template.boxes.find_by_position(1)
24 57 box_1.blocks << SoftwareInformationBlock.new(:display => "home_page_only")
25 58 box_1.blocks << SispTabDataBlock.new(:display => "home_page_only")
... ... @@ -30,26 +63,11 @@ namespace :software do
30 63 main_block.save
31 64 end
32 65  
33   - def create_blocks_box_2 template
34   - box_2 = template.boxes.find_by_position(2)
35   - box_2.blocks.destroy_all
36   - box_2.blocks << LinkListBlock.new(:links => [{:name=>"Catálogo de Software Público", :address=>"/search/software_infos", :target=>"_self"},
37   - {:name=>"Comunidades", :address=>"/search/communities", :target=>"_self"},
38   - {:name=>"Ajuda", :address=>"/spb/ajuda", :target=>"_self"}])
39   - box_2.blocks << LinkListBlock.new(:title => "Software Público",
40   - :links => [{:name=>"Entenda o que é", :address=>"/spb/entenda-o-que-e", :target=>"_self"},
41   - {:name=>"Inicie um projeto", :address=>"/spb/inicie-um-projeto", :target=>"_self"},
42   - {:name=>"Publique seu software", :address=>"/spb/publique-seu-software", :target=>"_self"}])
43   - box_2.blocks << LinkListBlock.new(:title => "Portal do SPB",
44   - :links => [{:name=>"Sobre o Portal", :address=>"/spb/sobre-o-portal", :target=>"_self"},
45   - {:name=>"Notícias", :address=>"/spb/noticias", :target=>"_self"}])
46   - end
47   -
48 66 desc "Import sisp software from yml"
49   - task :import_sisp => :environment do
  67 + task :import_data => :environment do
50 68  
51 69 $imported_data = YAML.load_file('plugins/software_communities/public/static/sisp-catalog.yml')
52   - $env = Environment.default #TODO change this to correct environment
  70 + $env = Environment.find_by_name("SISP")
53 71  
54 72 $software_category = Category.find_by_name("Software")
55 73 $software_category ||= Category.create(:name => "Software", :environment => $env)
... ... @@ -104,6 +122,7 @@ def create_sisp_community name
104 122  
105 123 community.identifier = identifier
106 124 community.template = $sisp_template
  125 + community.environment = $env
107 126  
108 127 community.save!
109 128 community
... ... @@ -176,6 +195,7 @@ def create_institution sisp_hash
176 195 institution_community.country = "BR"
177 196 institution_community.state = "DF"
178 197 institution_community.city = "Unknown"
  198 + institution_community.environment = $env
179 199 institution_community.save!
180 200  
181 201 institution.community = institution_community
... ...