FIX: when creating a topic in a category that only allows tags from a tag group, don't allow creation of new tags
This commit is contained in:
parent
9de134caa0
commit
6ca71e1319
|
@ -40,7 +40,7 @@ module DiscourseTagging
|
||||||
selected_tags: tag_names
|
selected_tags: tag_names
|
||||||
).to_a
|
).to_a
|
||||||
|
|
||||||
if tags.size < tag_names.size && (category.nil? || category.tags.count == 0)
|
if tags.size < tag_names.size && (category.nil? || (category.tags.count == 0 && category.tag_groups.count == 0))
|
||||||
tag_names.each do |name|
|
tag_names.each do |name|
|
||||||
unless Tag.where(name: name).exists?
|
unless Tag.where(name: name).exists?
|
||||||
tags << Tag.create(name: name)
|
tags << Tag.create(name: name)
|
||||||
|
|
|
@ -100,6 +100,13 @@ describe "category tag restrictions" do
|
||||||
expect(filter_allowed_tags(for_input: true)).to contain_exactly(tag3)
|
expect(filter_allowed_tags(for_input: true)).to contain_exactly(tag3)
|
||||||
expect(filter_allowed_tags(for_input: true, category: other_category)).to contain_exactly(tag3)
|
expect(filter_allowed_tags(for_input: true, category: other_category)).to contain_exactly(tag3)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
it "enforces restrictions when creating a topic" do
|
||||||
|
category.allowed_tag_groups = [tag_group1.name]
|
||||||
|
category.reload
|
||||||
|
post = create_post(category: category, tags: [tag1.name, "newtag"])
|
||||||
|
expect(post.topic.tags.map(&:name)).to eq([tag1.name])
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
context "tag groups with parent tag" do
|
context "tag groups with parent tag" do
|
||||||
|
|
Loading…
Reference in New Issue