mirror of
https://github.com/discourse/discourse.git
synced 2024-11-23 09:17:08 +08:00
prevent users from ever changing the category of a topic in a support category
This commit is contained in:
parent
578e15224b
commit
e8a6ff4808
|
@ -540,6 +540,7 @@ class Topic < ActiveRecord::Base
|
|||
|
||||
def change_category_to_id(category_id)
|
||||
return false if private_message?
|
||||
return false if category.try(:is_support)
|
||||
|
||||
new_category_id = category_id.to_i
|
||||
# if the category name is blank, reset the attribute
|
||||
|
|
|
@ -898,6 +898,18 @@ describe TopicsController do
|
|||
end
|
||||
end
|
||||
|
||||
context 'when topic is in support category' do
|
||||
let(:another_category) { Fabricate(:category) }
|
||||
|
||||
it "cannot change the category of a topic that is in a support category" do
|
||||
@topic.category = Fabricate(:category, is_support: true)
|
||||
@topic.save!
|
||||
xhr :put, :update, topic_id: @topic.id, slug: @topic.title, category_id: another_category.id
|
||||
expect(response).not_to be_success
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
context "allow_uncategorized_topics is false" do
|
||||
before do
|
||||
SiteSetting.stubs(:allow_uncategorized_topics).returns(false)
|
||||
|
|
Loading…
Reference in New Issue
Block a user