Apply embed unlisted setting consistently (#24294)

Applies the embed_unlisted site setting consistently across topic embeds, including those created via the WP Discourse plugin. Relatedly, adds a embed exception to can_create_unlisted_topic? check. Users creating embedded topics are not always staff.
This commit is contained in:
Angus McLeod
2023-12-12 15:35:26 +01:00
committed by GitHub
parent 7d0562f10e
commit 95c61b88dc
7 changed files with 57 additions and 20 deletions

View File

@ -67,7 +67,8 @@ class TopicCreator
private
def validate_visibility(topic)
if !@opts[:skip_validations] && !topic.visible && !guardian.can_create_unlisted_topic?(topic)
if !@opts[:skip_validations] && !topic.visible &&
!guardian.can_create_unlisted_topic?(topic, !!opts[:embed_url])
topic.errors.add(:base, :unable_to_unlist)
end
end