diff options
author | Douwe Maan <douwe@selenight.nl> | 2017-03-31 18:10:53 -0600 |
---|---|---|
committer | Douwe Maan <douwe@selenight.nl> | 2017-04-08 14:37:46 -0500 |
commit | d65d245e06fbe45455e130e2d4ca0ca1d066a8c6 (patch) | |
tree | 37582457af03e9fbc5ac0ea9df2819640e1de365 | |
parent | 2c0de7aaafd5fb842618bb7fa218e11255363bc8 (diff) | |
download | gitlab-ce-d65d245e06fbe45455e130e2d4ca0ca1d066a8c6.tar.gz |
Add link to diff header too
-rw-r--r-- | app/helpers/notes_helper.rb | 13 | ||||
-rw-r--r-- | app/views/discussions/_discussion.html.haml | 17 |
2 files changed, 16 insertions, 14 deletions
diff --git a/app/helpers/notes_helper.rb b/app/helpers/notes_helper.rb index 5f3d89cf6cb..b244ae4fcbf 100644 --- a/app/helpers/notes_helper.rb +++ b/app/helpers/notes_helper.rb @@ -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 diff --git a/app/views/discussions/_discussion.html.haml b/app/views/discussions/_discussion.html.haml index f12778be305..47739809108 100644 --- a/app/views/discussions/_discussion.html.haml +++ b/app/views/discussions/_discussion.html.haml @@ -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 |