summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJean-Philippe Lang <jp_lang@yahoo.fr>2016-04-19 18:40:38 +0000
committerJean-Philippe Lang <jp_lang@yahoo.fr>2016-04-19 18:40:38 +0000
commitb56f77322ac2f6a900ba011e767446e17401cf6f (patch)
tree49c20060c56b77bbb93802589dbd31bbf48ac6a6
parentdcc569fa34f7c961c2d2a5ba1f9da7b7a85b2f3b (diff)
downloadredmine-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.rb8
-rw-r--r--app/views/issues/index.html.erb4
-rw-r--r--test/functional/issues_controller_test.rb6
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