Commit 92cac97486903f0ec0b0f1757c86e5ab75648216
1 parent
e8043011
Exists in
master
and in
5 other branches
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>
Showing
2 changed files
with
33 additions
and
13 deletions
Show diff stats
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 | ... | ... |
... | ... | @@ -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 | ... | ... |