Commit 92cac97486903f0ec0b0f1757c86e5ab75648216

Authored by Fabio Teixeira
1 parent e8043011

verify_tests(BUG): Create software after admin approves

Signed-off-by: Fabio Teixeira <fabio1079@gmail.com>
Signed-off-by: Luiz Matos <luizff.matos@gmail.com>
lib/ext/community.rb
... ... @@ -9,23 +9,23 @@ class Community
9 9  
10 10 def self.create_after_moderation(requestor, attributes = {}, software_info = nil, license_info = nil, controlled_vocabulary = nil)
11 11 community = Community.new(attributes)
12   - if community.environment.enabled?('admin_must_approve_new_communities')
13   - CreateCommunity.create(attributes.merge(:requestor => requestor))
14   - else
15   - community = Community.create(attributes)
16 12  
17   - if not software_info.nil?
18   - if not license_info.nil?
19   - software_info.license_info = license_info
20   - end
21   -
22   - if not controlled_vocabulary.nil?
23   - software_info.controlled_vocabulary = controlled_vocabulary
24   - end
  13 + if not software_info.nil?
  14 + if not license_info.nil?
  15 + software_info.license_info = license_info
  16 + end
25 17  
26   - community.software_info = software_info
  18 + if not controlled_vocabulary.nil?
  19 + software_info.controlled_vocabulary = controlled_vocabulary
27 20 end
  21 + software_info.save
  22 + end
28 23  
  24 + if community.environment.enabled?('admin_must_approve_new_communities')
  25 + cc = CreateCommunity.create(attributes.merge(:requestor => requestor, :software_info=>software_info))
  26 + else
  27 + community = Community.create(attributes)
  28 + community.software_info = software_info
29 29 community.add_admin(requestor)
30 30 end
31 31 community
... ...
lib/ext/create_community.rb 0 → 100644
... ... @@ -0,0 +1,20 @@
  1 +require_dependency 'create_community'
  2 +
  3 +class CreateCommunity
  4 + settings_items :software_info
  5 + attr_accessible :software_info, :environment, :name, :closed, :template_id, :requestor, :reject_explanation, :target, :image_builder
  6 +
  7 + def perform
  8 + community = Community.new
  9 + community_data = self.data.reject do |key, value|
  10 + ! DATA_FIELDS.include?(key.to_s)
  11 + end
  12 +
  13 + community.update_attributes(community_data)
  14 + community.image = image if image
  15 + community.environment = self.environment
  16 + community.software_info = self.software_info
  17 + community.save!
  18 + community.add_admin(self.requestor)
  19 + end
  20 +end
0 21 \ No newline at end of file
... ...