From a2d06cbff32d58c9a8bd206ecc6246e9463fcce6 Mon Sep 17 00:00:00 2001 From: Robert Speicher Date: Tue, 29 Mar 2016 20:25:12 +0000 Subject: [PATCH] Merge branch 'fix-mr-comment-commit-pruned' into 'master' MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Gracefully handle notes on deleted commits in merge requests Closes #3250 See merge request !3402 Signed-off-by: Rémy Coutable --- CHANGELOG | 1 + app/helpers/notes_helper.rb | 6 ++++-- app/views/projects/notes/discussions/_commit.html.haml | 7 +++++-- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index 93cf17cf85..b68c0099fd 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -21,6 +21,7 @@ v 8.6.2 - Fix background when editing a highlighted note. !3423 - Remove tabstop from the WIP toggle links. !3426 - Ensure private project snippets are not viewable by unauthorized people. + - Gracefully handle notes on deleted commits in merge requests (Stan Hu). !3402 v 8.6.1 - Add option to reload the schema before restoring a database backup. !2807 diff --git a/app/helpers/notes_helper.rb b/app/helpers/notes_helper.rb index 53c543c28c..698f90cb27 100644 --- a/app/helpers/notes_helper.rb +++ b/app/helpers/notes_helper.rb @@ -5,8 +5,10 @@ module NotesHelper end def note_target_fields(note) - hidden_field_tag(:target_type, note.noteable.class.name.underscore) + - hidden_field_tag(:target_id, note.noteable.id) + if note.noteable + hidden_field_tag(:target_type, note.noteable.class.name.underscore) + + hidden_field_tag(:target_id, note.noteable.id) + end end def note_editable?(note) diff --git a/app/views/projects/notes/discussions/_commit.html.haml b/app/views/projects/notes/discussions/_commit.html.haml index 3da2f2060b..f67ec8db94 100644 --- a/app/views/projects/notes/discussions/_commit.html.haml +++ b/app/views/projects/notes/discussions/_commit.html.haml @@ -1,4 +1,6 @@ - note = discussion_notes.first +- commit = note.noteable +- commit_description = commit ? 'commit' : 'a deleted commit' .discussion.js-toggle-container{ class: note.discussion_id } .discussion-header .discussion-actions @@ -7,8 +9,9 @@ Show/hide discussion %div = link_to_member(@project, note.author, avatar: false) - started a discussion on commit - = link_to(note.noteable.short_id, namespace_project_commit_path(note.project.namespace, note.project, note.noteable), class: 'monospace') + %p started a discussion on #{commit_description} + - if commit + = link_to(commit.short_id, namespace_project_commit_path(note.project.namespace, note.project, note.noteable), class: 'monospace') .last-update.hide.js-toggle-content - last_note = discussion_notes.last last updated by