diff --git a/lib/guardian/topic_guardian.rb b/lib/guardian/topic_guardian.rb index f691942bc..1f767fbc5 100644 --- a/lib/guardian/topic_guardian.rb +++ b/lib/guardian/topic_guardian.rb @@ -7,7 +7,7 @@ module TopicGuardian # Creating Methods def can_create_topic?(parent) - is_admin? || + is_staff? || (user && user.trust_level >= SiteSetting.min_trust_to_create_topic.to_i && can_create_post?(parent)) diff --git a/spec/components/guardian_spec.rb b/spec/components/guardian_spec.rb index e6e4e95fd..45be1d7d9 100644 --- a/spec/components/guardian_spec.rb +++ b/spec/components/guardian_spec.rb @@ -415,6 +415,7 @@ describe Guardian do Guardian.new(build(:user, trust_level: 1)).can_create?(Topic,Fabricate(:category)).should be_true Guardian.new(build(:user, trust_level: 2)).can_create?(Topic,Fabricate(:category)).should be_true Guardian.new(build(:admin, trust_level: 0)).can_create?(Topic,Fabricate(:category)).should be_true + Guardian.new(build(:moderator, trust_level: 0)).can_create?(Topic,Fabricate(:category)).should be_true end end