From 2f8d139ec0c636361e4d731efb2221c287a53d0b Mon Sep 17 00:00:00 2001 From: Sam Date: Thu, 10 Jul 2014 12:01:46 +1000 Subject: [PATCH] BUGFIX: incorrect ordering in category permissions FEATURE: UI for categories that we allow badges on --- app/assets/javascripts/discourse/models/category.js | 7 +++++-- .../discourse/routes/discovery_categories_route.js | 3 ++- .../modal/edit-category-settings.js.handlebars | 9 +++++++++ app/controllers/categories_controller.rb | 11 ++++++++++- app/models/site.rb | 2 +- app/serializers/category_serializer.rb | 3 ++- config/locales/client.en.yml | 1 + 7 files changed, 30 insertions(+), 6 deletions(-) diff --git a/app/assets/javascripts/discourse/models/category.js b/app/assets/javascripts/discourse/models/category.js index b0382abd73b..b78421bd501 100644 --- a/app/assets/javascripts/discourse/models/category.js +++ b/app/assets/javascripts/discourse/models/category.js @@ -10,9 +10,11 @@ Discourse.Category = Discourse.Model.extend({ init: function() { this._super(); - this.set("availableGroups", Em.A(this.get("available_groups"))); + var availableGroups = Em.A(this.get("available_groups")); + this.set("availableGroups", availableGroups); this.set("permissions", Em.A(_.map(this.group_permissions, function(elem){ + availableGroups.removeObject(elem.group_name); return { group_name: elem.group_name, permission: Discourse.PermissionType.create({id: elem.permission_type}) @@ -70,7 +72,8 @@ Discourse.Category = Discourse.Model.extend({ email_in_allow_strangers: this.get('email_in_allow_strangers'), parent_category_id: this.get('parent_category_id'), logo_url: this.get('logo_url'), - background_url: this.get('background_url') + background_url: this.get('background_url'), + allow_badges: this.get('allow_badges') }, type: this.get('id') ? 'PUT' : 'POST' }); diff --git a/app/assets/javascripts/discourse/routes/discovery_categories_route.js b/app/assets/javascripts/discourse/routes/discovery_categories_route.js index 2910439c463..1c7ae9331e8 100644 --- a/app/assets/javascripts/discourse/routes/discovery_categories_route.js +++ b/app/assets/javascripts/discourse/routes/discovery_categories_route.js @@ -44,7 +44,8 @@ Discourse.DiscoveryCategoriesRoute = Discourse.Route.extend(Discourse.OpenCompos createCategory: function() { Discourse.Route.showModal(this, 'editCategory', Discourse.Category.create({ color: 'AB9364', text_color: 'FFFFFF', group_permissions: [{group_name: 'everyone', permission_type: 1}], - available_groups: Discourse.Site.current().group_names + available_groups: Discourse.Site.current().group_names, + allow_badges: true })); this.controllerFor('editCategory').set('selectedTab', 'general'); }, diff --git a/app/assets/javascripts/discourse/templates/modal/edit-category-settings.js.handlebars b/app/assets/javascripts/discourse/templates/modal/edit-category-settings.js.handlebars index 5a146bd4274..8162cb6a483 100644 --- a/app/assets/javascripts/discourse/templates/modal/edit-category-settings.js.handlebars +++ b/app/assets/javascripts/discourse/templates/modal/edit-category-settings.js.handlebars @@ -9,6 +9,15 @@ +
+
+
+ {{input type="checkbox" checked=allow_badges}} + {{i18n category.allow_badges_label}} +
+
+
+ {{#if emailInEnabled}}