diff --git a/app/assets/javascripts/admin/controllers/admin_badges_controller.js b/app/assets/javascripts/admin/controllers/admin_badges_controller.js index 705aad553..1cf2615ad 100644 --- a/app/assets/javascripts/admin/controllers/admin_badges_controller.js +++ b/app/assets/javascripts/admin/controllers/admin_badges_controller.js @@ -26,6 +26,14 @@ Discourse.AdminBadgesController = Ember.ArrayController.extend({ **/ canEditDescription: Em.computed.none('selectedItem.translatedDescription'), + /** + Disable saving if the currently selected item is being saved. + + @property disableSave + @type {Boolean} + **/ + disableSave: Em.computed.alias('selectedItem.saving'), + actions: { /** @@ -57,11 +65,9 @@ Discourse.AdminBadgesController = Ember.ArrayController.extend({ @method save **/ save: function() { - var badge = this.get('selectedItem'); - badge.set('disableSave', true); - badge.save().then(function() { - badge.set('disableSave', false); - }); + if (!this.get('disableSave')) { + this.get('selectedItem').save(); + } }, /** diff --git a/app/assets/javascripts/admin/controllers/admin_controller.js b/app/assets/javascripts/admin/controllers/admin_controller.js index 9bb77a9aa..c78b14ee0 100644 --- a/app/assets/javascripts/admin/controllers/admin_controller.js +++ b/app/assets/javascripts/admin/controllers/admin_controller.js @@ -6,4 +6,8 @@ @namespace Discourse @module Discourse **/ -Discourse.AdminController = Discourse.Controller.extend({}); +Discourse.AdminController = Discourse.Controller.extend({ + showBadges: function() { + return this.get('currentUser.admin') && Discourse.SiteSettings.enable_badges; + }.property() +}); diff --git a/app/assets/javascripts/admin/templates/admin.js.handlebars b/app/assets/javascripts/admin/templates/admin.js.handlebars index 43f18b5e2..930c697b6 100644 --- a/app/assets/javascripts/admin/templates/admin.js.handlebars +++ b/app/assets/javascripts/admin/templates/admin.js.handlebars @@ -14,6 +14,9 @@