Commit 04e25fca0e1d2233afa3383103becf2c2f7026ce
1 parent
c3308c85
Exists in
master
and in
29 other branches
Add option to disable enterprises list on user menu
(ActionItem2903)
Showing
5 changed files
with
37 additions
and
5 deletions
Show diff stats
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 |
db/schema.rb
@@ -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 < ActionController::TestCase | @@ -1613,8 +1613,12 @@ class ProfileControllerTest < 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 < ActionController::TestCase | @@ -1635,6 +1639,19 @@ class ProfileControllerTest < 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 |