Add link to diff header too

This commit is contained in:
Douwe Maan 2017-03-31 18:10:53 -06:00
parent 2c0de7aaaf
commit d65d245e06
2 changed files with 16 additions and 14 deletions

View file

@ -61,10 +61,17 @@ module NotesHelper
end
def discussion_diff_path(discussion)
return unless discussion.diff_discussion?
if discussion.for_merge_request?
if discussion.active?
# Without a diff ID, the link always points to the latest diff version
diff_id = nil
elsif merge_request_diff = discussion.latest_merge_request_diff
diff_id = merge_request_diff.id
else
return
end
if discussion.for_merge_request? && discussion.active?
diffs_namespace_project_merge_request_path(discussion.project.namespace, discussion.project, discussion.noteable, anchor: discussion.line_code)
diffs_namespace_project_merge_request_path(discussion.project.namespace, discussion.project, discussion.noteable, diff_id: diff_id, anchor: discussion.line_code)
elsif discussion.for_commit?
namespace_project_commit_path(discussion.project.namespace, discussion.project, discussion.noteable, anchor: discussion.line_code)
end

View file

@ -20,24 +20,19 @@
= discussion.author.to_reference
started a discussion
- url = discussion_diff_path(discussion)
- if discussion.for_commit? && @noteable != discussion.noteable
on
- commit = discussion.noteable
- if commit
commit
- anchor = discussion.line_code if discussion.diff_discussion?
= link_to commit.short_id, namespace_project_commit_path(discussion.project.namespace, discussion.project, discussion.noteable, anchor: anchor), class: 'monospace'
= link_to commit.short_id, discussion_diff_path(discussion), class: 'monospace'
- else
a deleted commit
- elsif discussion.diff_discussion?
on
- if discussion.active?
= link_to 'the diff', discussion_diff_path(discussion)
- else
- merge_request_diff = discussion.latest_merge_request_diff
- if merge_request_diff
= link_to diffs_namespace_project_merge_request_path(discussion.project.namespace, discussion.project, discussion.noteable, diff_id: merge_request_diff, anchor: discussion.line_code) do
an outdated diff
- else
= conditional_link_to url.present?, url do
- if discussion.active?
the diff
- else
an outdated diff