From 101ba5d8fed86bbbdfc95b8ca232e9317b310b2d Mon Sep 17 00:00:00 2001 From: Neil Lalonde <neillalonde@gmail.com> Date: Tue, 14 May 2013 12:45:54 -0400 Subject: [PATCH] Add Create Topic button to /categories page --- app/assets/javascripts/discourse/models/category_list.js | 1 + .../javascripts/discourse/routes/list_categories_route.js | 1 + app/serializers/category_list_serializer.rb | 6 +++++- 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/app/assets/javascripts/discourse/models/category_list.js b/app/assets/javascripts/discourse/models/category_list.js index b5ab4177d..0093f7b54 100644 --- a/app/assets/javascripts/discourse/models/category_list.js +++ b/app/assets/javascripts/discourse/models/category_list.js @@ -36,6 +36,7 @@ Discourse.CategoryList.reopenClass({ return Discourse.ajax("/" + filter + ".json").then(function(result) { var categoryList = Discourse.TopicList.create(); categoryList.set('can_create_category', result.category_list.can_create_category); + categoryList.set('can_create_topic', result.category_list.can_create_topic); categoryList.set('categories', route.categoriesFrom(result)); categoryList.set('loaded', true); return categoryList; diff --git a/app/assets/javascripts/discourse/routes/list_categories_route.js b/app/assets/javascripts/discourse/routes/list_categories_route.js index ce07472b9..99bba9dc3 100644 --- a/app/assets/javascripts/discourse/routes/list_categories_route.js +++ b/app/assets/javascripts/discourse/routes/list_categories_route.js @@ -25,6 +25,7 @@ Discourse.ListCategoriesRoute = Discourse.Route.extend({ controller: 'listCategories' }); listController.set('canCreateCategory', categoryList.get('can_create_category')); + listController.set('canCreateTopic', categoryList.get('can_create_topic')); listController.set('category', null); _this.controllerFor('listCategories').set('content', categoryList); }); diff --git a/app/serializers/category_list_serializer.rb b/app/serializers/category_list_serializer.rb index dfc587440..4e423e886 100644 --- a/app/serializers/category_list_serializer.rb +++ b/app/serializers/category_list_serializer.rb @@ -1,6 +1,6 @@ class CategoryListSerializer < ApplicationSerializer - attributes :can_create_category + attributes :can_create_category, :can_create_topic has_many :categories, serializer: CategoryDetailedSerializer, embed: :objects @@ -8,4 +8,8 @@ class CategoryListSerializer < ApplicationSerializer scope.can_create?(Category) end + def can_create_topic + scope.can_create?(Topic) + end + end