From 82355e30511bf415c3ac3177dbb13e29cd77bfa9 Mon Sep 17 00:00:00 2001 From: Marcos Ronaldo Date: Thu, 17 Dec 2015 15:30:32 -0200 Subject: [PATCH] check if env and domain exists before create --- src/noosfero-spb/software_communities/lib/tasks/import_sisp_software.rake | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/src/noosfero-spb/software_communities/lib/tasks/import_sisp_software.rake b/src/noosfero-spb/software_communities/lib/tasks/import_sisp_software.rake index c92df93..5514508 100755 --- a/src/noosfero-spb/software_communities/lib/tasks/import_sisp_software.rake +++ b/src/noosfero-spb/software_communities/lib/tasks/import_sisp_software.rake @@ -10,8 +10,9 @@ namespace :sisp do desc "Creates the SISP Environment" task :create_env => :environment do - env = Environment.create!(name: "SISP") - env.domains << Domain.create!(name: "dev.sisp.gov.br") + env = Environment.find_or_create_by_name("SISP") + domain = Domain.find_or_create_by_name("novo.sisp.gov.br") + env.domains << domain unless env.domains.include?(domain) create_link_blocks env puts "SISP Environment created" @@ -36,6 +37,11 @@ namespace :sisp do task :create_template => :environment do env = Environment.find_by_name("SISP") + unless env.present? + Rake::Task['sisp:create_env'].invoke + env = Environment.find_by_name("SISP") + end + if env.present? template = Community.where(identifier: "sisp-software", environment_id: env).last template.destroy if template @@ -47,9 +53,12 @@ namespace :sisp do env.community_default_template = template env.save! + + puts "SISP Template created" + else + puts "SISP Template *NOT* created. Environment SISP not found." end - puts "SISP Template created" end def create_template_blocks template @@ -69,8 +78,9 @@ namespace :sisp do $imported_data = YAML.load_file('plugins/software_communities/public/static/sisp-catalog.yml') $env = Environment.find_by_name("SISP") - $software_category = Category.find_by_name("Software") - $software_category ||= Category.create(:name => "Software", :environment => $env) + $software_category = Category.find_or_create_by_name("Software") + $software_category.environment = $env + $software_category.save! $sisp_user = create_sisp_user -- libgit2 0.21.2