Commit 82a9151e32a90a9c87ccb7eb083ab1381652f277
Committed by
Antonio Terceiro
1 parent
0f2dfa79
Exists in
master
and in
29 other branches
When creating an enterprise apply inactive template
* Added feature 'enterprises_are_disabled_when_created' * After create, when applying template: * if enterprise is disabled, apply inactive_template * if enterprise is enabled, apply active_template ActionItem1268
Showing
5 changed files
with
62 additions
and
8 deletions
Show diff stats
app/models/enterprise.rb
@@ -121,8 +121,19 @@ class Enterprise < Organization | @@ -121,8 +121,19 @@ class Enterprise < Organization | ||
121 | blocks | 121 | blocks |
122 | end | 122 | end |
123 | 123 | ||
124 | + before_create do |enterprise| | ||
125 | + if enterprise.environment.enabled?('enterprises_are_disabled_when_created') | ||
126 | + enterprise.enabled = false | ||
127 | + end | ||
128 | + true | ||
129 | + end | ||
130 | + | ||
124 | def template | 131 | def template |
125 | - environment.enterprise_template | 132 | + if enabled? |
133 | + environment.enterprise_template | ||
134 | + else | ||
135 | + environment.inactive_enterprise_template | ||
136 | + end | ||
126 | end | 137 | end |
127 | 138 | ||
128 | settings_items :enable_contact_us, :type => :boolean, :default => true | 139 | settings_items :enable_contact_us, :type => :boolean, :default => true |
app/models/environment.rb
@@ -130,6 +130,7 @@ class Environment < ActiveRecord::Base | @@ -130,6 +130,7 @@ class Environment < ActiveRecord::Base | ||
130 | 'articles_dont_accept_comments_by_default' => _("Articles don't accept comments by default"), | 130 | 'articles_dont_accept_comments_by_default' => _("Articles don't accept comments by default"), |
131 | 'organizations_are_moderated_by_default' => _("Organizations have moderated publication by default"), | 131 | 'organizations_are_moderated_by_default' => _("Organizations have moderated publication by default"), |
132 | 'enable_organization_url_change' => _("Allow organizations to change their address"), | 132 | 'enable_organization_url_change' => _("Allow organizations to change their address"), |
133 | + 'enterprises_are_disabled_when_created' => _('Enterprises are disabled when created'), | ||
133 | } | 134 | } |
134 | end | 135 | end |
135 | 136 |
lib/unifreire_terminology.rb
@@ -38,6 +38,7 @@ class UnifreireTerminology < Noosfero::Terminology::Custom | @@ -38,6 +38,7 @@ class UnifreireTerminology < Noosfero::Terminology::Custom | ||
38 | 'Enable Enterprise' => N_('Enable Institution'), | 38 | 'Enable Enterprise' => N_('Enable Institution'), |
39 | 'Enterprise Validation' => N_('Institution Validation'), | 39 | 'Enterprise Validation' => N_('Institution Validation'), |
40 | 'Enterprise Info and settings' => N_('Institution Info and settings'), | 40 | 'Enterprise Info and settings' => N_('Institution Info and settings'), |
41 | + 'Enterprises are disabled when created' => N_('Institutions are disabled when created'), | ||
41 | }) | 42 | }) |
42 | end | 43 | end |
43 | 44 |
lib/zen3_terminology.rb
@@ -82,6 +82,7 @@ class Zen3Terminology < Noosfero::Terminology::Custom | @@ -82,6 +82,7 @@ class Zen3Terminology < Noosfero::Terminology::Custom | ||
82 | 'Choose the communities you want to join and/or create your own.' => N_('Choose the groups you want to join and/or create your own.'), | 82 | 'Choose the communities you want to join and/or create your own.' => N_('Choose the groups you want to join and/or create your own.'), |
83 | 'New community' => N_('New group'), | 83 | 'New community' => N_('New group'), |
84 | "Tags are important to new users, they'll be able to find your new community more easily." => N_("Tags are important to new users, they'll be able to find your new group more easily."), | 84 | "Tags are important to new users, they'll be able to find your new community more easily." => N_("Tags are important to new users, they'll be able to find your new group more easily."), |
85 | + 'Enterprises are disabled when created' => N_('Organizations are disabled when created'), | ||
85 | }) | 86 | }) |
86 | end | 87 | end |
87 | 88 |
test/unit/enterprise_test.rb
@@ -177,14 +177,17 @@ class EnterpriseTest < Test::Unit::TestCase | @@ -177,14 +177,17 @@ class EnterpriseTest < Test::Unit::TestCase | ||
177 | end | 177 | end |
178 | 178 | ||
179 | should 'not replace template if environment doesnt allow' do | 179 | should 'not replace template if environment doesnt allow' do |
180 | - template = Enterprise.create!(:name => 'template enteprise', :identifier => 'template_enterprise', :enabled => false) | ||
181 | - template.boxes.destroy_all | ||
182 | - template.boxes << Box.new | ||
183 | - template.boxes[0].blocks << Block.new | ||
184 | - template.save! | 180 | + inactive_template = Enterprise.create!(:name => 'inactive enteprise template', :identifier => 'inactive_enterprise_template') |
181 | + inactive_template.boxes.destroy_all | ||
182 | + inactive_template.boxes << Box.new | ||
183 | + inactive_template.save! | ||
184 | + | ||
185 | + active_template = Enterprise.create!(:name => 'enteprise template', :identifier => 'enterprise_template') | ||
186 | + assert_equal 3, active_template.boxes.size | ||
185 | 187 | ||
186 | e = Environment.default | 188 | e = Environment.default |
187 | - e.enterprise_template = template | 189 | + e.inactive_enterprise_template = inactive_template |
190 | + e.enterprise_template = active_template | ||
188 | e.save! | 191 | e.save! |
189 | 192 | ||
190 | ent = Enterprise.create!(:name => 'test enteprise', :identifier => 'test_ent', :enabled => false) | 193 | ent = Enterprise.create!(:name => 'test enteprise', :identifier => 'test_ent', :enabled => false) |
@@ -193,7 +196,6 @@ class EnterpriseTest < Test::Unit::TestCase | @@ -193,7 +196,6 @@ class EnterpriseTest < Test::Unit::TestCase | ||
193 | ent.enable(p) | 196 | ent.enable(p) |
194 | ent.reload | 197 | ent.reload |
195 | assert_equal 1, ent.boxes.size | 198 | assert_equal 1, ent.boxes.size |
196 | - assert_equal 1, ent.boxes[0].blocks.size | ||
197 | end | 199 | end |
198 | 200 | ||
199 | should 'create EnterpriseActivation task when creating with enabled = false' do | 201 | should 'create EnterpriseActivation task when creating with enabled = false' do |
@@ -329,4 +331,42 @@ class EnterpriseTest < Test::Unit::TestCase | @@ -329,4 +331,42 @@ class EnterpriseTest < Test::Unit::TestCase | ||
329 | assert_equal 'http://website.with.http', p.organization_website | 331 | assert_equal 'http://website.with.http', p.organization_website |
330 | end | 332 | end |
331 | 333 | ||
334 | + should 'be created disabled if feature enterprises_are_disabled_when_created is enabled' do | ||
335 | + e = Environment.default | ||
336 | + e.enable('enterprises_are_disabled_when_created') | ||
337 | + e.save! | ||
338 | + | ||
339 | + ent = Enterprise.create!(:name => 'test enteprise', :identifier => 'test_ent') | ||
340 | + assert_equal false, Enterprise['test_ent'].enabled? | ||
341 | + end | ||
342 | + | ||
343 | + should 'have inactive_template when creating enterprise and feature is enabled' do | ||
344 | + inactive_template = Enterprise.create!(:name => 'inactive enteprise template', :identifier => 'inactive_enterprise_template') | ||
345 | + inactive_template.boxes.destroy_all | ||
346 | + inactive_template.boxes << Box.new | ||
347 | + inactive_template.save! | ||
348 | + | ||
349 | + e = Environment.default | ||
350 | + e.enable('enterprises_are_disabled_when_created') | ||
351 | + e.inactive_enterprise_template = inactive_template | ||
352 | + e.save! | ||
353 | + | ||
354 | + ent = Enterprise.create!(:name => 'test enteprise', :identifier => 'test_ent') | ||
355 | + assert_equal 1, ent.boxes.size | ||
356 | + end | ||
357 | + | ||
358 | + should 'have active_template when creating enterprise and feature is disabled' do | ||
359 | + inactive_template = Enterprise.create!(:name => 'inactive enteprise template', :identifier => 'inactive_enterprise_template') | ||
360 | + inactive_template.boxes.destroy_all | ||
361 | + inactive_template.boxes << Box.new | ||
362 | + inactive_template.save! | ||
363 | + | ||
364 | + e = Environment.default | ||
365 | + e.disable('enterprises_are_disabled_when_created') | ||
366 | + e.inactive_enterprise_template = inactive_template | ||
367 | + e.save! | ||
368 | + | ||
369 | + ent = Enterprise.create!(:name => 'test enteprise', :identifier => 'test_ent') | ||
370 | + assert_equal 3, ent.boxes.size | ||
371 | + end | ||
332 | end | 372 | end |