Commit 04e25fca0e1d2233afa3383103becf2c2f7026ce

Authored by Daniela Feitosa
1 parent c3308c85

Add option to disable enterprises list on user menu

(ActionItem2903)
app/helpers/application_helper.rb
@@ -1134,12 +1134,12 @@ module ApplicationHelper @@ -1134,12 +1134,12 @@ module ApplicationHelper
1134 end 1134 end
1135 1135
1136 def manage_enterprises 1136 def manage_enterprises
1137 - return unless user 1137 + return unless user && user.environment.enabled?(:display_my_enterprises_on_user_menu)
1138 manage_link(user.enterprises, :enterprises) 1138 manage_link(user.enterprises, :enterprises)
1139 end 1139 end
1140 1140
1141 def manage_communities 1141 def manage_communities
1142 - return unless user && user.environment.enabled?('display_my_communities_on_user_menu') 1142 + return unless user && user.environment.enabled?(:display_my_communities_on_user_menu)
1143 administered_communities = user.communities.more_popular.select {|c| c.admins.include? user} 1143 administered_communities = user.communities.more_popular.select {|c| c.admins.include? user}
1144 manage_link(administered_communities, :communities) 1144 manage_link(administered_communities, :communities)
1145 end 1145 end
app/models/environment.rb
@@ -128,7 +128,8 @@ class Environment < ActiveRecord::Base @@ -128,7 +128,8 @@ class Environment < ActiveRecord::Base
128 'skip_new_user_email_confirmation' => _('Skip e-mail confirmation for new users'), 128 'skip_new_user_email_confirmation' => _('Skip e-mail confirmation for new users'),
129 'send_welcome_email_to_new_users' => _('Send welcome e-mail to new users'), 129 'send_welcome_email_to_new_users' => _('Send welcome e-mail to new users'),
130 'allow_change_of_redirection_after_login' => _('Allow users to set the page to redirect after login'), 130 'allow_change_of_redirection_after_login' => _('Allow users to set the page to redirect after login'),
131 - 'display_my_communities_on_user_menu' => _('Display on menu the list of communities the user can manage') 131 + 'display_my_communities_on_user_menu' => _('Display on menu the list of communities the user can manage'),
  132 + 'display_my_enterprises_on_user_menu' => _('Display on menu the list of enterprises the user can manage')
132 } 133 }
133 end 134 end
134 135
db/migrate/20131116165327_enable_enterprises_list_on_user_menu.rb 0 → 100644
@@ -0,0 +1,14 @@ @@ -0,0 +1,14 @@
  1 +class EnableEnterprisesListOnUserMenu < ActiveRecord::Migration
  2 + def self.up
  3 + # The enterprises were always listed on user menu.
  4 + # As now it is configured by admin, the running environments should not need to enable it
  5 + select_all("select id from environments").each do |environment|
  6 + env = Environment.find(environment['id'])
  7 + env.enable(:display_my_enterprises_on_user_menu)
  8 + end
  9 + end
  10 +
  11 + def self.down
  12 + #nothing to be done
  13 + end
  14 +end
@@ -9,7 +9,7 @@ @@ -9,7 +9,7 @@
9 # 9 #
10 # It's strongly recommended to check this file into your version control system. 10 # It's strongly recommended to check this file into your version control system.
11 11
12 -ActiveRecord::Schema.define(:version => 20131011164400) do 12 +ActiveRecord::Schema.define(:version => 20131116165327) do
13 13
14 create_table "abuse_reports", :force => true do |t| 14 create_table "abuse_reports", :force => true do |t|
15 t.integer "reporter_id" 15 t.integer "reporter_id"
test/functional/profile_controller_test.rb
@@ -1613,8 +1613,12 @@ class ProfileControllerTest &lt; ActionController::TestCase @@ -1613,8 +1613,12 @@ class ProfileControllerTest &lt; ActionController::TestCase
1613 end 1613 end
1614 end 1614 end
1615 1615
1616 - should 'build menu to the enterprise panel' do 1616 + should 'build menu to the enterprise panel if enabled' do
1617 u = create_user('other_other_ze').person 1617 u = create_user('other_other_ze').person
  1618 +
  1619 + Environment.any_instance.stubs(:enabled?).returns(false)
  1620 + Environment.any_instance.stubs(:enabled?).with('display_my_enterprises_on_user_menu').returns(true)
  1621 +
1618 Environment.any_instance.stubs(:required_person_fields).returns([]) 1622 Environment.any_instance.stubs(:required_person_fields).returns([])
1619 u.data = { :email => 'test@test.com', :fields_privacy => { } } 1623 u.data = { :email => 'test@test.com', :fields_privacy => { } }
1620 u.save! 1624 u.save!
@@ -1635,6 +1639,19 @@ class ProfileControllerTest &lt; ActionController::TestCase @@ -1635,6 +1639,19 @@ class ProfileControllerTest &lt; ActionController::TestCase
1635 end 1639 end
1636 end 1640 end
1637 1641
  1642 + should 'not build menu to the enterprise panel if not enabled' do
  1643 + user = create_user('enterprise_admin').person
  1644 + enterprise = fast_create(Enterprise)
  1645 + enterprise.add_admin(user)
  1646 +
  1647 + Environment.any_instance.stubs(:enabled?).returns(false)
  1648 + Environment.any_instance.stubs(:enabled?).with('display_my_enterprises_on_user_menu').returns(false)
  1649 +
  1650 + login_as(user.identifier)
  1651 + get :index
  1652 + assert_no_tag :tag => 'div', :attributes => {:id => 'manage-enterprises'}
  1653 + end
  1654 +
1638 should 'show enterprises field if enterprises are enabled on environment' do 1655 should 'show enterprises field if enterprises are enabled on environment' do
1639 person = fast_create(Person) 1656 person = fast_create(Person)
1640 environment = person.environment 1657 environment = person.environment