summaryrefslogtreecommitdiff
path: root/app/controllers
diff options
context:
space:
mode:
authorRobert Speicher <rspeicher@gmail.com>2016-08-01 16:59:44 -0700
committerRobert Speicher <rspeicher@gmail.com>2016-08-01 16:59:44 -0700
commita70431f874112212cb44b7a104b2e32f440af941 (patch)
tree5e6753630aeaf0909e7ebc66e04334cc53690e9c /app/controllers
parent957331bf45e33c5d1ca0331ca6acb56fc8ecdb92 (diff)
downloadgitlab-ce-a70431f874112212cb44b7a104b2e32f440af941.tar.gz
Redirect to external issue tracker from `/issues`
Prior, in order to display the correct link to "Issues" in the project navigation, we were performing a check against the project to see if it used an external issue tracker, and if so, we used that URL. This was inefficient. Now, we simply _always_ link to `namespace_project_issues_path`, and then in the controller we redirect to the external tracker if it's present. This also removes the need for the url_for_issue helper. Bonus! :tada:
Diffstat (limited to 'app/controllers')
-rw-r--r--app/controllers/projects/issues_controller.rb7
1 files changed, 7 insertions, 0 deletions
diff --git a/app/controllers/projects/issues_controller.rb b/app/controllers/projects/issues_controller.rb
index 7f5c3ff3d6a..cb1e514c60e 100644
--- a/app/controllers/projects/issues_controller.rb
+++ b/app/controllers/projects/issues_controller.rb
@@ -5,6 +5,7 @@ class Projects::IssuesController < Projects::ApplicationController
include ToggleAwardEmoji
include IssuableCollections
+ before_action :redirect_to_external_issue_tracker, only: [:index]
before_action :module_enabled
before_action :issue, only: [:edit, :update, :show, :referenced_merge_requests,
:related_branches, :can_create_branch]
@@ -201,6 +202,12 @@ class Projects::IssuesController < Projects::ApplicationController
return render_404 unless @project.issues_enabled && @project.default_issues_tracker?
end
+ def redirect_to_external_issue_tracker
+ return unless @project.external_issue_tracker
+
+ redirect_to @project.external_issue_tracker.issues_url
+ end
+
# Since iids are implemented only in 6.1
# user may navigate to issue page using old global ids.
#