diff options
author | Robert Speicher <robert@gitlab.com> | 2016-08-26 00:11:30 +0000 |
---|---|---|
committer | Robert Speicher <robert@gitlab.com> | 2016-08-26 00:11:30 +0000 |
commit | e4336ba0ba14f299718b9af5dc586e4ea17a11b3 (patch) | |
tree | 122ec94de4e0b6fe9b471ddbd018624fea2dc042 | |
parent | bceafa4e8eb7141771bb759fc9b4d625794f784a (diff) | |
parent | ace38e8397bd4c3eca11e0aafe9a8682ad81bf45 (diff) | |
download | gitlab-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-- | CHANGELOG | 1 | ||||
-rw-r--r-- | app/controllers/projects/issues_controller.rb | 2 | ||||
-rw-r--r-- | spec/controllers/projects/issues_controller_spec.rb | 4 |
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 |