Commit aa29773ad8a694b37239da948a7b92af409ea53e

Authored by Rodrigo Souto
1 parent 8175d7fb

Not display administration link to common users

ActionItem3173
app/helpers/application_helper.rb
@@ -1104,14 +1104,18 @@ module ApplicationHelper @@ -1104,14 +1104,18 @@ module ApplicationHelper
1104 end 1104 end
1105 1105
1106 def manage_enterprises 1106 def manage_enterprises
1107 - return unless user && user.environment.enabled?(:display_my_enterprises_on_user_menu)  
1108 - manage_link(user.enterprises, :enterprises) 1107 + return '' unless user && user.environment.enabled?(:display_my_enterprises_on_user_menu)
  1108 + manage_link(user.enterprises, :enterprises).to_s
1109 end 1109 end
1110 1110
1111 def manage_communities 1111 def manage_communities
1112 - return unless user && user.environment.enabled?(:display_my_communities_on_user_menu) 1112 + return '' unless user && user.environment.enabled?(:display_my_communities_on_user_menu)
1113 administered_communities = user.communities.more_popular.select {|c| c.admins.include? user} 1113 administered_communities = user.communities.more_popular.select {|c| c.admins.include? user}
1114 - manage_link(administered_communities, :communities) 1114 + manage_link(administered_communities, :communities).to_s
  1115 + end
  1116 +
  1117 + def admin_link
  1118 + user.is_admin?(environment) ? link_to('<i class="icon-menu-admin"></i><strong>' + _('Administration') + '</strong>', environment.admin_url, :title => _("Configure the environment"), :class => 'admin-link') : ''
1115 end 1119 end
1116 1120
1117 def usermenu_logged_in 1121 def usermenu_logged_in
@@ -1123,9 +1127,9 @@ module ApplicationHelper @@ -1123,9 +1127,9 @@ module ApplicationHelper
1123 1127
1124 (_("<span class='welcome'>Welcome,</span> %s") % link_to("<i style='background-image:url(#{user.profile_custom_icon(gravatar_default)})'></i><strong>#{user.identifier}</strong>", user.public_profile_url, :id => "homepage-link", :title => _('Go to your homepage'))) + 1128 (_("<span class='welcome'>Welcome,</span> %s") % link_to("<i style='background-image:url(#{user.profile_custom_icon(gravatar_default)})'></i><strong>#{user.identifier}</strong>", user.public_profile_url, :id => "homepage-link", :title => _('Go to your homepage'))) +
1125 render_environment_features(:usermenu) + 1129 render_environment_features(:usermenu) +
1126 - link_to('<i class="icon-menu-admin"></i><strong>' + _('Administration') + '</strong>', @environment.admin_url, :title => _("Configure the environment"), :class => 'admin-link') +  
1127 - manage_enterprises.to_s +  
1128 - manage_communities.to_s + 1130 + admin_link +
  1131 + manage_enterprises +
  1132 + manage_communities +
1129 link_to('<i class="icon-menu-ctrl-panel"></i><strong>' + _('Control panel') + '</strong>', user.admin_url, :class => 'ctrl-panel', :title => _("Configure your personal account and content")) + 1133 link_to('<i class="icon-menu-ctrl-panel"></i><strong>' + _('Control panel') + '</strong>', user.admin_url, :class => 'ctrl-panel', :title => _("Configure your personal account and content")) +
1130 pending_tasks_count + 1134 pending_tasks_count +
1131 link_to('<i class="icon-menu-logout"></i><strong>' + _('Logout') + '</strong>', { :controller => 'account', :action => 'logout'} , :id => "logout", :title => _("Leave the system")) 1135 link_to('<i class="icon-menu-logout"></i><strong>' + _('Logout') + '</strong>', { :controller => 'account', :action => 'logout'} , :id => "logout", :title => _("Leave the system"))
test/unit/application_helper_test.rb
@@ -606,6 +606,22 @@ class ApplicationHelperTest &lt; ActionView::TestCase @@ -606,6 +606,22 @@ class ApplicationHelperTest &lt; ActionView::TestCase
606 assert_equal 'Open chat', render_environment_features(:usermenu) 606 assert_equal 'Open chat', render_environment_features(:usermenu)
607 end 607 end
608 608
  609 + should 'not inlude administration link if user is not an environment administrator' do
  610 + user = mock()
  611 + stubs(:environment).returns(Environment.default)
  612 + user.stubs(:is_admin?).with(environment).returns(false)
  613 + stubs(:user).returns(user)
  614 + assert admin_link.blank?
  615 + end
  616 +
  617 + should 'inlude administration link if user is an environment administrator' do
  618 + user = mock()
  619 + stubs(:environment).returns(Environment.default)
  620 + user.stubs(:is_admin?).with(environment).returns(true)
  621 + stubs(:user).returns(user)
  622 + assert admin_link.present?
  623 + end
  624 +
609 should 'not return mime type of profile icon if not requested' do 625 should 'not return mime type of profile icon if not requested' do
610 stubs(:profile).returns(Person.new) 626 stubs(:profile).returns(Person.new)
611 stubs(:current_theme).returns('default') 627 stubs(:current_theme).returns('default')