mirror of
https://github.com/discourse/discourse.git
synced 2025-05-23 06:51:27 +08:00
FIX: Return 422 when creating topics with tags w/out permission (#10400)
The UI prevents users from trying to create tags on topics when they don't have permission, but if you are trying to add tags to a topic via the API and you don't have permission before this change it would silently succeed in creating the topic, but it wouldn't have any tags. Now a 422 error will be returned with an error message when trying to create a topic with tags when tagging is disabled or you don't have enough trust level to add tags to a topic. Bug report: https://meta.discourse.org/t/-/70525/14
This commit is contained in:
@ -165,7 +165,10 @@ class TopicCreator
|
||||
end
|
||||
else
|
||||
valid_tags = DiscourseTagging.tag_topic_by_names(topic, @guardian, @opts[:tags])
|
||||
rollback_from_errors!(topic) unless valid_tags
|
||||
unless valid_tags
|
||||
topic.errors.add(:base, :unable_to_tag)
|
||||
rollback_from_errors!(topic)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
Reference in New Issue
Block a user