Merge branch 'winh-discussion-header-commented' into 'master'
Display "commented" only for commit discussions on merge requests Closes #53950 and #53681 See merge request gitlab-org/gitlab-ce!23622
This commit is contained in:
commit
62d250ff66
|
@ -211,6 +211,16 @@ export default {
|
||||||
|
|
||||||
return this.line;
|
return this.line;
|
||||||
},
|
},
|
||||||
|
commit() {
|
||||||
|
if (!this.discussion.for_commit) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
return {
|
||||||
|
id: this.discussion.commit_id,
|
||||||
|
url: this.discussion.discussion_path,
|
||||||
|
};
|
||||||
|
},
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
isReplying() {
|
isReplying() {
|
||||||
|
@ -376,6 +386,7 @@ Please check your network connection and try again.`;
|
||||||
:note="componentData(initialDiscussion)"
|
:note="componentData(initialDiscussion)"
|
||||||
:line="line"
|
:line="line"
|
||||||
:help-page-path="helpPagePath"
|
:help-page-path="helpPagePath"
|
||||||
|
:commit="commit"
|
||||||
@handleDeleteNote="deleteNoteHandler"
|
@handleDeleteNote="deleteNoteHandler"
|
||||||
>
|
>
|
||||||
<note-edited-text
|
<note-edited-text
|
||||||
|
|
|
@ -2,6 +2,8 @@
|
||||||
import $ from 'jquery';
|
import $ from 'jquery';
|
||||||
import { mapGetters, mapActions } from 'vuex';
|
import { mapGetters, mapActions } from 'vuex';
|
||||||
import { escape } from 'underscore';
|
import { escape } from 'underscore';
|
||||||
|
import { truncateSha } from '~/lib/utils/text_utility';
|
||||||
|
import { s__, sprintf } from '~/locale';
|
||||||
import TimelineEntryItem from '~/vue_shared/components/notes/timeline_entry_item.vue';
|
import TimelineEntryItem from '~/vue_shared/components/notes/timeline_entry_item.vue';
|
||||||
import Flash from '../../flash';
|
import Flash from '../../flash';
|
||||||
import userAvatarLink from '../../vue_shared/components/user_avatar/user_avatar_link.vue';
|
import userAvatarLink from '../../vue_shared/components/user_avatar/user_avatar_link.vue';
|
||||||
|
@ -37,6 +39,11 @@ export default {
|
||||||
required: false,
|
required: false,
|
||||||
default: '',
|
default: '',
|
||||||
},
|
},
|
||||||
|
commit: {
|
||||||
|
type: Object,
|
||||||
|
required: false,
|
||||||
|
default: () => null,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
@ -73,6 +80,24 @@ export default {
|
||||||
isTarget() {
|
isTarget() {
|
||||||
return this.targetNoteHash === this.noteAnchorId;
|
return this.targetNoteHash === this.noteAnchorId;
|
||||||
},
|
},
|
||||||
|
actionText() {
|
||||||
|
if (this.commit) {
|
||||||
|
const { id, url } = this.commit;
|
||||||
|
const linkStart = `<a class="commit-sha monospace" href="${escape(url)}">`;
|
||||||
|
const linkEnd = '</a>';
|
||||||
|
return sprintf(
|
||||||
|
s__('MergeRequests|commented on commit %{linkStart}%{commitId}%{linkEnd}'),
|
||||||
|
{
|
||||||
|
commitId: truncateSha(id),
|
||||||
|
linkStart,
|
||||||
|
linkEnd,
|
||||||
|
},
|
||||||
|
false,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
return '<span class="d-none d-sm-inline">·</span>';
|
||||||
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
created() {
|
created() {
|
||||||
|
@ -200,13 +225,9 @@ export default {
|
||||||
</div>
|
</div>
|
||||||
<div class="timeline-content">
|
<div class="timeline-content">
|
||||||
<div class="note-header">
|
<div class="note-header">
|
||||||
<note-header
|
<note-header v-once :author="author" :created-at="note.created_at" :note-id="note.id">
|
||||||
v-once
|
<span v-html="actionText"></span>
|
||||||
:author="author"
|
</note-header>
|
||||||
:created-at="note.created_at"
|
|
||||||
:note-id="note.id"
|
|
||||||
action-text="commented"
|
|
||||||
/>
|
|
||||||
<note-actions
|
<note-actions
|
||||||
:author-id="author.id"
|
:author-id="author.id"
|
||||||
:note-id="note.id"
|
:note-id="note.id"
|
||||||
|
|
|
@ -85,7 +85,7 @@ module NotesHelper
|
||||||
|
|
||||||
diffs_project_merge_request_path(discussion.project, discussion.noteable, path_params)
|
diffs_project_merge_request_path(discussion.project, discussion.noteable, path_params)
|
||||||
elsif discussion.for_commit?
|
elsif discussion.for_commit?
|
||||||
anchor = discussion.line_code if discussion.diff_discussion?
|
anchor = discussion.diff_discussion? ? discussion.line_code : "note_#{discussion.first_note.id}"
|
||||||
|
|
||||||
project_commit_path(discussion.project, discussion.noteable, anchor: anchor)
|
project_commit_path(discussion.project, discussion.noteable, anchor: anchor)
|
||||||
end
|
end
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
---
|
||||||
|
title: Display "commented" only for commit discussions on merge requests
|
||||||
|
merge_request: 23622
|
||||||
|
author:
|
||||||
|
type: fixed
|
|
@ -4126,6 +4126,9 @@ msgstr ""
|
||||||
msgid "MergeRequests|View replaced file @ %{commitId}"
|
msgid "MergeRequests|View replaced file @ %{commitId}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "MergeRequests|commented on commit %{linkStart}%{commitId}%{linkEnd}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "MergeRequests|started a discussion"
|
msgid "MergeRequests|started a discussion"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
|
@ -88,5 +88,13 @@ describe 'Merge request > User sees discussions', :js do
|
||||||
expect(page).to have_content "started a discussion on commit #{note.commit_id[0...7]}"
|
expect(page).to have_content "started a discussion on commit #{note.commit_id[0...7]}"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
context 'a commit non-diff discussion' do
|
||||||
|
let(:note) { create(:discussion_note_on_commit, project: project) }
|
||||||
|
|
||||||
|
it 'displays correct header' do
|
||||||
|
expect(page).to have_content "commented on commit #{note.commit_id[0...7]}"
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -185,8 +185,8 @@ describe NotesHelper do
|
||||||
context 'for a non-diff discussion' do
|
context 'for a non-diff discussion' do
|
||||||
let(:discussion) { create(:discussion_note_on_commit, project: project).to_discussion }
|
let(:discussion) { create(:discussion_note_on_commit, project: project).to_discussion }
|
||||||
|
|
||||||
it 'returns the commit path' do
|
it 'returns the commit path with the note anchor' do
|
||||||
expect(helper.discussion_path(discussion)).to eq(project_commit_path(project, commit))
|
expect(helper.discussion_path(discussion)).to eq(project_commit_path(project, commit, anchor: "note_#{discussion.first_note.id}"))
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in New Issue