diff options
author | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2016-04-19 18:40:38 +0000 |
---|---|---|
committer | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2016-04-19 18:40:38 +0000 |
commit | b56f77322ac2f6a900ba011e767446e17401cf6f (patch) | |
tree | 49c20060c56b77bbb93802589dbd31bbf48ac6a6 | |
parent | dcc569fa34f7c961c2d2a5ba1f9da7b7a85b2f3b (diff) | |
download | redmine-b56f77322ac2f6a900ba011e767446e17401cf6f.tar.gz redmine-b56f77322ac2f6a900ba011e767446e17401cf6f.zip |
Adds a "New issue" link on the global issue list (#6204).
git-svn-id: http://svn.redmine.org/redmine/trunk@15345 e93f8b46-1217-0410-a6f0-8f06a7374b81
-rw-r--r-- | app/helpers/routes_helper.rb | 8 | ||||
-rw-r--r-- | app/views/issues/index.html.erb | 4 | ||||
-rw-r--r-- | test/functional/issues_controller_test.rb | 6 |
3 files changed, 16 insertions, 2 deletions
diff --git a/app/helpers/routes_helper.rb b/app/helpers/routes_helper.rb index 06f292d36..b8415a510 100644 --- a/app/helpers/routes_helper.rb +++ b/app/helpers/routes_helper.rb @@ -29,6 +29,14 @@ module RoutesHelper end end + def _new_project_issue_path(project, *args) + if project + new_project_issue_path(project, *args) + else + new_issue_path(*args) + end + end + def _project_calendar_path(project, *args) project ? project_calendar_path(project, *args) : issues_calendar_path(*args) end diff --git a/app/views/issues/index.html.erb b/app/views/issues/index.html.erb index 2e971711f..7dcba2629 100644 --- a/app/views/issues/index.html.erb +++ b/app/views/issues/index.html.erb @@ -1,6 +1,6 @@ <div class="contextual"> - <% if @project && User.current.allowed_to?(:add_issues, @project) && @project.trackers.any? %> - <%= link_to l(:label_issue_new), new_project_issue_path(@project), :class => 'icon icon-add new-issue' %> + <% if User.current.allowed_to?(:add_issues, @project, :global => true) && (@project.nil? || @project.trackers.any?) %> + <%= link_to l(:label_issue_new), _new_project_issue_path(@project), :class => 'icon icon-add new-issue' %> <% end %> </div> diff --git a/test/functional/issues_controller_test.rb b/test/functional/issues_controller_test.rb index f6e6459c7..14489dcb8 100644 --- a/test/functional/issues_controller_test.rb +++ b/test/functional/issues_controller_test.rb @@ -1081,6 +1081,12 @@ class IssuesControllerTest < ActionController::TestCase assert_select 'a.new-issue', 0 end + def test_index_without_project_should_include_new_issue_link + @request.session[:user_id] = 2 + get :index + assert_select 'a.new-issue[href="/issues/new"]', :text => 'New issue' + end + def test_show_by_anonymous get :show, :id => 1 assert_response :success |