Commit c97f060c authored by Oswaldo Ferreira's avatar Oswaldo Ferreira

Return issue link removal with context of the current issue

parent cc12c824
...@@ -37,10 +37,12 @@ module IssueLinks ...@@ -37,10 +37,12 @@ module IssueLinks
end end
def destroy_relation_path(issue) def destroy_relation_path(issue)
# Make sure the user can admin both the current issue AND the
# referenced issue projects in order to return the removal link.
if can_destroy_issue_link_on_current_project? && can_destroy_issue_link?(issue.project) if can_destroy_issue_link_on_current_project? && can_destroy_issue_link?(issue.project)
namespace_project_issue_link_path(issue.project.namespace, namespace_project_issue_link_path(@project.namespace,
issue.project, @issue.project,
issue.iid, @issue.iid,
issue.issue_links_id) issue.issue_links_id)
end end
end end
......
...@@ -51,7 +51,7 @@ describe IssueLinks::ListService, service: true do ...@@ -51,7 +51,7 @@ describe IssueLinks::ListService, service: true do
path: "/#{project.full_path}/issues/#{issue_b.iid}", path: "/#{project.full_path}/issues/#{issue_b.iid}",
project_path: issue_b.project.path, project_path: issue_b.project.path,
namespace_full_path: issue_b.project.namespace.full_path, namespace_full_path: issue_b.project.namespace.full_path,
destroy_relation_path: "/#{project.full_path}/issues/#{issue_b.iid}/links/#{issue_link_a.id}")) destroy_relation_path: "/#{project.full_path}/issues/#{issue.iid}/links/#{issue_link_a.id}"))
expect(subject).to include(include(id: issue_c.id, expect(subject).to include(include(id: issue_c.id,
iid: issue_c.iid, iid: issue_c.iid,
...@@ -60,7 +60,7 @@ describe IssueLinks::ListService, service: true do ...@@ -60,7 +60,7 @@ describe IssueLinks::ListService, service: true do
path: "/#{project.full_path}/issues/#{issue_c.iid}", path: "/#{project.full_path}/issues/#{issue_c.iid}",
project_path: issue_c.project.path, project_path: issue_c.project.path,
namespace_full_path: issue_c.project.namespace.full_path, namespace_full_path: issue_c.project.namespace.full_path,
destroy_relation_path: "/#{project.full_path}/issues/#{issue_c.iid}/links/#{issue_link_b.id}")) destroy_relation_path: "/#{project.full_path}/issues/#{issue.iid}/links/#{issue_link_b.id}"))
expect(subject).to include(include(id: issue_d.id, expect(subject).to include(include(id: issue_d.id,
iid: issue_d.iid, iid: issue_d.iid,
...@@ -69,7 +69,7 @@ describe IssueLinks::ListService, service: true do ...@@ -69,7 +69,7 @@ describe IssueLinks::ListService, service: true do
path: "/#{project.full_path}/issues/#{issue_d.iid}", path: "/#{project.full_path}/issues/#{issue_d.iid}",
project_path: issue_d.project.path, project_path: issue_d.project.path,
namespace_full_path: issue_d.project.namespace.full_path, namespace_full_path: issue_d.project.namespace.full_path,
destroy_relation_path: "/#{project.full_path}/issues/#{issue_d.iid}/links/#{issue_link_c.id}")) destroy_relation_path: "/#{project.full_path}/issues/#{issue.iid}/links/#{issue_link_c.id}"))
end end
end end
...@@ -170,7 +170,7 @@ describe IssueLinks::ListService, service: true do ...@@ -170,7 +170,7 @@ describe IssueLinks::ListService, service: true do
it 'returns related issue destroy relation path' do it 'returns related issue destroy relation path' do
expect(subject.first[:destroy_relation_path]) expect(subject.first[:destroy_relation_path])
.to eq("/#{project.full_path}/issues/#{referenced_issue.iid}/links/#{issue_link.id}") .to eq("/#{project.full_path}/issues/#{issue.iid}/links/#{issue_link.id}")
end end
end end
end end
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment