mirror of
https://github.com/meineerde/redmine.git
synced 2026-01-31 11:37:14 +00:00
Abbreviate quoted text in descriptions in Activity view (#42043).
Patch by Go MAEDA (user:maeda). git-svn-id: https://svn.redmine.org/redmine/trunk@23428 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
parent
254e8353be
commit
9e80ee95e1
@ -414,8 +414,16 @@ module ApplicationHelper
|
||||
end
|
||||
|
||||
def format_activity_description(text)
|
||||
h(text.to_s.truncate(240).gsub(%r{[\r\n]*<(pre|code)>.*$}m, '...')).
|
||||
gsub(/[\r\n]+/, "<br />").html_safe
|
||||
h(
|
||||
# Limit input to avoid regex performance issues
|
||||
text.to_s.slice(0, 10240)
|
||||
# Abbreviate consecutive quoted lines as '> ...', keeping the first line
|
||||
.gsub(%r{(^>.*?(?:\r?\n))(?:>.*?(?:\r?\n)+)+}m, "\\1> ...\n")
|
||||
# Remove all content following the first <pre> or <code> tag
|
||||
.sub(%r{[\r\n]*<(pre|code)>.*$}m, '')
|
||||
# Truncate the description to a specified length and append '...'
|
||||
.truncate(240)
|
||||
).gsub(/[\r\n]+/, "<br>").html_safe
|
||||
end
|
||||
|
||||
def format_version_name(version)
|
||||
|
||||
@ -2329,6 +2329,35 @@ class ApplicationHelperTest < Redmine::HelperTest
|
||||
end
|
||||
end
|
||||
|
||||
def test_format_activity_description_should_strip_quoted_text
|
||||
text = <<~TEXT
|
||||
John Smith wrote in #note-1:
|
||||
> The quick brown fox
|
||||
> jumps over the lazy dog.
|
||||
|
||||
Brick quiz whangs jumpy veldt fox.
|
||||
|
||||
> The five
|
||||
|
||||
> boxing wizards
|
||||
|
||||
> jump quickly.
|
||||
|
||||
The quick onyx goblin jumps over the lazy dwarf.
|
||||
TEXT
|
||||
|
||||
expected =
|
||||
'John Smith wrote in #note-1:<br>' \
|
||||
'> The quick brown fox<br>' \
|
||||
'> ...<br>' \
|
||||
'Brick quiz whangs jumpy veldt fox.<br>' \
|
||||
'> The five<br>' \
|
||||
'> ...<br>' \
|
||||
'The quick onyx goblin jumps over the lazy dwarf.<br>'
|
||||
|
||||
assert_equal expected, format_activity_description(text)
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def wiki_links_with_special_characters
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user