]> source.dussan.org Git - redmine.git/commitdiff
Menu should not include "New issue" for users with copy issues permission only.
authorJean-Philippe Lang <jp_lang@yahoo.fr>
Sat, 30 May 2015 09:10:06 +0000 (09:10 +0000)
committerJean-Philippe Lang <jp_lang@yahoo.fr>
Sat, 30 May 2015 09:10:06 +0000 (09:10 +0000)
git-svn-id: http://svn.redmine.org/redmine/trunk@14290 e93f8b46-1217-0410-a6f0-8f06a7374b81

lib/redmine.rb
test/functional/projects_controller_test.rb

index 9b781737865c34b1cfc4b83f007e3fe883f7896b..a264585ef9f9c320a71bee854393822f1b59e0cf 100644 (file)
@@ -231,7 +231,8 @@ Redmine::MenuManager.map :project_menu do |menu|
   menu.push :issues, { :controller => 'issues', :action => 'index' }, :param => :project_id, :caption => :label_issue_plural
   menu.push :new_issue, { :controller => 'issues', :action => 'new', :copy_from => nil }, :param => :project_id, :caption => :label_issue_new,
               :html => { :accesskey => Redmine::AccessKeys.key_for(:new_issue) },
-              :if => Proc.new { |p| p.trackers.any? }
+              :if => Proc.new { |p| p.trackers.any? },
+              :permission => :add_issues
   menu.push :gantt, { :controller => 'gantts', :action => 'show' }, :param => :project_id, :caption => :label_gantt
   menu.push :calendar, { :controller => 'calendars', :action => 'show' }, :param => :project_id, :caption => :label_calendar
   menu.push :news, { :controller => 'news', :action => 'index' }, :param => :project_id, :caption => :label_news_plural
index 70c32c5f0be50418bdc8c12e1ecc852e069e1c74..2efb98ccdedb1a6e53c4ae94a212561a96d1f0bc 100644 (file)
@@ -671,4 +671,14 @@ class ProjectsControllerTest < ActionController::TestCase
     get :show, :id => 1
     assert_select '#main-menu a.new-issue', 0
   end
+
+  def test_project_menu_should_not_include_new_issue_link_for_users_with_copy_issues_permission_only
+    role = Role.find(1)
+    role.remove_permission! :add_issues
+    role.add_permission! :copy_issues
+
+    @request.session[:user_id] = 2
+    get :show, :id => 1
+    assert_select '#main-menu a.new-issue', 0
+  end
 end