summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDouwe Maan <douwe@selenight.nl>2017-03-31 18:10:53 -0600
committerDouwe Maan <douwe@selenight.nl>2017-04-08 14:37:46 -0500
commitd65d245e06fbe45455e130e2d4ca0ca1d066a8c6 (patch)
tree37582457af03e9fbc5ac0ea9df2819640e1de365
parent2c0de7aaafd5fb842618bb7fa218e11255363bc8 (diff)
downloadgitlab-ce-d65d245e06fbe45455e130e2d4ca0ca1d066a8c6.tar.gz
Add link to diff header too
-rw-r--r--app/helpers/notes_helper.rb13
-rw-r--r--app/views/discussions/_discussion.html.haml17
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