summaryrefslogtreecommitdiff
path: root/app/views/projects/notes
diff options
context:
space:
mode:
authorDominik Sander <git@dsander.de>2015-04-03 16:46:23 +0200
committerDominik Sander <git@dsander.de>2015-04-15 18:23:57 +0200
commitd4fec49abc0fceec11f970c0699dfe71ee185290 (patch)
treece687bb7745e08199f4592640e05c0b56d33de1b /app/views/projects/notes
parent5f78601c8a67028f246134d325cca99952ba78b6 (diff)
downloadgitlab-ce-d4fec49abc0fceec11f970c0699dfe71ee185290.tar.gz
Fix merge request comments on files with multiple commits
Having a merge request with a comments on a line which is then changed in a later commit prevented new comments from properly showing up in the merge request show page. * `Note#set_diff` do not use stored the diff when creating a new note in merge requests (we can not be sure the diff did not changed since the last comment on that line) * Do not rely just on `outdated?` of the first note when displaying comments of a MR in the discussion tab, but partition the active/outdated notes and display them all * In the inline changes tab just select the active notes, so an outdated note does not prevent an active one from being rendered * Just show active comments in the side-by-side changes tab
Diffstat (limited to 'app/views/projects/notes')
-rw-r--r--app/views/projects/notes/_discussion.html.haml7
1 files changed, 3 insertions, 4 deletions
diff --git a/app/views/projects/notes/_discussion.html.haml b/app/views/projects/notes/_discussion.html.haml
index 3561ca49f81..b8068835b3a 100644
--- a/app/views/projects/notes/_discussion.html.haml
+++ b/app/views/projects/notes/_discussion.html.haml
@@ -6,9 +6,8 @@
= image_tag avatar_icon(note.author_email), class: "avatar s40"
.timeline-content
- if note.for_merge_request?
- - if note.outdated?
- = render "projects/notes/discussions/outdated", discussion_notes: discussion_notes
- - else
- = render "projects/notes/discussions/active", discussion_notes: discussion_notes
+ - (active_notes, outdated_notes) = discussion_notes.partition(&:active?)
+ = render "projects/notes/discussions/active", discussion_notes: active_notes if active_notes.length > 0
+ = render "projects/notes/discussions/outdated", discussion_notes: outdated_notes if outdated_notes.length > 0
- else
= render "projects/notes/discussions/commit", discussion_notes: discussion_notes