mirror of
https://github.com/discourse/discourse.git
synced 2024-11-25 10:20:58 -06:00
Show empty categories to those who can create them (admins/mods)
This commit is contained in:
parent
560411eece
commit
42d996aae1
@ -9,7 +9,7 @@ class CategoryList
|
||||
.includes(:featured_users)
|
||||
.order('topics_week desc, topics_month desc, topics_year desc')
|
||||
.to_a
|
||||
|
||||
|
||||
# Support for uncategorized topics
|
||||
uncategorized_topics = Topic
|
||||
.listable_topics
|
||||
@ -45,8 +45,10 @@ class CategoryList
|
||||
@categories.insert(insert_at || @categories.size, uncategorized)
|
||||
end
|
||||
|
||||
# Remove categories with no featured topics
|
||||
@categories.delete_if {|c| c.featured_topics.blank? }
|
||||
# Remove categories with no featured topics unless we have the ability to edit one
|
||||
unless Guardian.new(current_user).can_create?(Category)
|
||||
@categories.delete_if {|c| c.featured_topics.blank? }
|
||||
end
|
||||
|
||||
# Get forum topic user records if appropriate
|
||||
if current_user.present?
|
||||
|
@ -42,12 +42,23 @@ describe CategoryList do
|
||||
|
||||
context "with a category" do
|
||||
|
||||
let(:topic_category) { Fabricate(:category) }
|
||||
let!(:topic_category) { Fabricate(:category) }
|
||||
|
||||
context "without a featured topic" do
|
||||
|
||||
it "should not return empty categories" do
|
||||
category_list.categories.should be_blank
|
||||
end
|
||||
|
||||
it "returns empty categories for those who can create them" do
|
||||
Guardian.any_instance.expects(:can_create?).with(Category).returns(true)
|
||||
category_list.categories.should be_present
|
||||
end
|
||||
|
||||
|
||||
it "should not return empty categories (no featured topics)" do
|
||||
category_list.categories.should be_blank
|
||||
end
|
||||
|
||||
|
||||
context "with a topic in a category" do
|
||||
let!(:topic) { Fabricate(:topic, category: topic_category)}
|
||||
let(:category) { category_list.categories.first }
|
||||
|
Loading…
Reference in New Issue
Block a user