FIX: show generic title when quoting off-topic secure category posts

This commit is contained in:
Maja Komel 2018-12-02 19:22:40 +01:00 committed by Sam
parent cc04c86859
commit 1073634271
3 changed files with 25 additions and 0 deletions

View File

@ -55,6 +55,7 @@ en:
anonymous: "Anonymous" anonymous: "Anonymous"
remove_posts_deleted_by_author: "Deleted by author" remove_posts_deleted_by_author: "Deleted by author"
redirect_warning: "We were unable to verify that the link you selected was actually posted to the forum. If you wish to proceed anyway, select the link below." redirect_warning: "We were unable to verify that the link you selected was actually posted to the forum. If you wish to proceed anyway, select the link below."
on_another_topic: "On another topic"
themes: themes:
bad_color_scheme: "Can not update theme, invalid color scheme" bad_color_scheme: "Can not update theme, invalid color scheme"

View File

@ -85,6 +85,11 @@ module PrettyText
title: Rack::Utils.escape_html(topic.title), title: Rack::Utils.escape_html(topic.title),
href: topic.url href: topic.url
} }
elsif topic
{
title: I18n.t("on_another_topic"),
href: Discourse.base_url + topic.slugless_url
}
end end
end end

View File

@ -46,6 +46,25 @@ describe PrettyText do
expect(cook("[quote=\"EvilTrout, post:2, topic:#{topic.id}\"]\nddd\n[/quote]", topic_id: 1)).to eq(n(expected)) expect(cook("[quote=\"EvilTrout, post:2, topic:#{topic.id}\"]\nddd\n[/quote]", topic_id: 1)).to eq(n(expected))
end end
it "do off topic quoting of posts from secure categories" do
category = Fabricate(:category, read_restricted: true)
topic = Fabricate(:topic, title: "this is topic with secret category", category: category)
expected = <<~HTML
<aside class="quote no-group" data-post="3" data-topic="#{topic.id}">
<div class="title">
<div class="quote-controls"></div>
<a href="http://test.localhost/t/#{topic.id}/3">#{I18n.t("on_another_topic")}</a>
</div>
<blockquote>
<p>I have nothing to say.</p>
</blockquote>
</aside>
HTML
expect(cook("[quote=\"maja, post:3, topic:#{topic.id}\"]\nI have nothing to say.\n[/quote]", topic_id: 1)).to eq(n(expected))
end
it "indifferent about missing quotations" do it "indifferent about missing quotations" do
md = <<~MD md = <<~MD
[quote=#{user.username}, post:123, topic:456, full:true] [quote=#{user.username}, post:123, topic:456, full:true]