Commit 09e60782 authored by Jan Provaznik's avatar Jan Provaznik

Merge branch '66264-moved-issue-reference' into 'master'

Resolve "Use "moved" instead of "closed" in issue references"

Closes #66264

See merge request gitlab-org/gitlab-ce!32277
parents 770a15b0 8501e13b
...@@ -178,7 +178,7 @@ class Issue < ApplicationRecord ...@@ -178,7 +178,7 @@ class Issue < ApplicationRecord
end end
def moved? def moved?
!moved_to.nil? !moved_to_id.nil?
end end
def can_move?(user, to_project = nil) def can_move?(user, to_project = nil)
......
---
title: Use moved instead of closed in issue references
merge_request: 32277
author: juliette-derancourt
type: changed
...@@ -21,7 +21,8 @@ module Banzai ...@@ -21,7 +21,8 @@ module Banzai
next if !can_read_cross_project? && cross_reference?(issuable) next if !can_read_cross_project? && cross_reference?(issuable)
if VISIBLE_STATES.include?(issuable.state) && issuable_reference?(node.inner_html, issuable) if VISIBLE_STATES.include?(issuable.state) && issuable_reference?(node.inner_html, issuable)
node.content += " (#{issuable.state})" state = moved_issue?(issuable) ? s_("IssuableStatus|moved") : issuable.state
node.content += " (#{state})"
end end
end end
...@@ -30,6 +31,10 @@ module Banzai ...@@ -30,6 +31,10 @@ module Banzai
private private
def moved_issue?(issuable)
issuable.instance_of?(Issue) && issuable.moved?
end
def issuable_reference?(text, issuable) def issuable_reference?(text, issuable)
CGI.unescapeHTML(text) == issuable.reference_link_text(project || group) CGI.unescapeHTML(text) == issuable.reference_link_text(project || group)
end end
......
...@@ -6191,6 +6191,9 @@ msgstr "" ...@@ -6191,6 +6191,9 @@ msgstr ""
msgid "IssuableStatus|Closed (%{moved_link_start}moved%{moved_link_end})" msgid "IssuableStatus|Closed (%{moved_link_start}moved%{moved_link_end})"
msgstr "" msgstr ""
msgid "IssuableStatus|moved"
msgstr ""
msgid "Issue" msgid "Issue"
msgstr "" msgstr ""
......
...@@ -131,6 +131,14 @@ describe Banzai::Filter::IssuableStateFilter do ...@@ -131,6 +131,14 @@ describe Banzai::Filter::IssuableStateFilter do
expect(doc.css('a').last.text).to eq("#{closed_issue.to_reference} (closed)") expect(doc.css('a').last.text).to eq("#{closed_issue.to_reference} (closed)")
end end
it 'appends state to moved issue references' do
moved_issue = create(:issue, :closed, project: project, moved_to: create_issue(:opened))
link = create_link(moved_issue.to_reference, issue: moved_issue.id, reference_type: 'issue')
doc = filter(link, context)
expect(doc.css('a').last.text).to eq("#{moved_issue.to_reference} (moved)")
end
end end
context 'for merge request references' do context 'for merge request references' do
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment