summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Speicher <robert@gitlab.com>2016-08-26 00:11:30 +0000
committerRobert Speicher <robert@gitlab.com>2016-08-26 00:11:30 +0000
commite4336ba0ba14f299718b9af5dc586e4ea17a11b3 (patch)
tree122ec94de4e0b6fe9b471ddbd018624fea2dc042
parentbceafa4e8eb7141771bb759fc9b4d625794f784a (diff)
parentace38e8397bd4c3eca11e0aafe9a8682ad81bf45 (diff)
downloadgitlab-ce-e4336ba0ba14f299718b9af5dc586e4ea17a11b3.tar.gz
Merge branch 'fix-external-issue-tracker-link' into 'master'
Fix external issue tracker "Issues" link leading to 404s ## What does this MR do? This MR fixes the redirection to the wrong URL when using an external issue tracker, such as JIRA or Redmine. a70431f874 modified the behavior to link to the external issue tracker issues URL instead of the project path URL. This restores the previous behavior. ## Why was this MR needed? The issues URL often has `:id` associated with it for linking mentioned issues. For external issue trackers, the project page is the intended target. ## What are the relevant issue numbers? Closes #21252 Related to #21402 See merge request !6006
-rw-r--r--CHANGELOG1
-rw-r--r--app/controllers/projects/issues_controller.rb2
-rw-r--r--spec/controllers/projects/issues_controller_spec.rb4
3 files changed, 4 insertions, 3 deletions
diff --git a/CHANGELOG b/CHANGELOG
index abd94a0cd0c..134c89472a9 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -34,6 +34,7 @@ v 8.11.3 (unreleased)
- Label list shows all issues (opened or closed) with that label
- Don't show resolve conflicts link before MR status is updated
- Don't prevent viewing the MR when git refs for conflicts can't be found on disk
+ - Fix external issue tracker "Issues" link leading to 404s
v 8.11.2
- Show "Create Merge Request" widget for push events to fork projects on the source project. !5978
diff --git a/app/controllers/projects/issues_controller.rb b/app/controllers/projects/issues_controller.rb
index 7b0189150f8..7c03dcd2e64 100644
--- a/app/controllers/projects/issues_controller.rb
+++ b/app/controllers/projects/issues_controller.rb
@@ -212,7 +212,7 @@ class Projects::IssuesController < Projects::ApplicationController
if action_name == 'new'
redirect_to external.new_issue_path
else
- redirect_to external.issues_url
+ redirect_to external.project_path
end
end
diff --git a/spec/controllers/projects/issues_controller_spec.rb b/spec/controllers/projects/issues_controller_spec.rb
index 0836b71056c..16929767ddf 100644
--- a/spec/controllers/projects/issues_controller_spec.rb
+++ b/spec/controllers/projects/issues_controller_spec.rb
@@ -8,13 +8,13 @@ describe Projects::IssuesController do
describe "GET #index" do
context 'external issue tracker' do
it 'redirects to the external issue tracker' do
- external = double(issues_url: 'https://example.com/issues')
+ external = double(project_path: 'https://example.com/project')
allow(project).to receive(:external_issue_tracker).and_return(external)
controller.instance_variable_set(:@project, project)
get :index, namespace_id: project.namespace.path, project_id: project
- expect(response).to redirect_to('https://example.com/issues')
+ expect(response).to redirect_to('https://example.com/project')
end
end