diff --git a/app/assets/javascripts/admin/components/site-setting.js.es6 b/app/assets/javascripts/admin/components/site-setting.js.es6 index 0b717f7223c..3c3e394b9f9 100644 --- a/app/assets/javascripts/admin/components/site-setting.js.es6 +++ b/app/assets/javascripts/admin/components/site-setting.js.es6 @@ -6,37 +6,45 @@ import showModal from "discourse/lib/show-modal"; import AboutRoute from "discourse/routes/about"; export default Component.extend(BufferedContent, SettingComponent, { + updateExistingUsers: null, + _save() { - const defaultCategoriesSettings = [ - "default_categories_watching", - "default_categories_tracking", - "default_categories_muted", - "default_categories_watching_first_post" - ]; const setting = this.buffered; - const key = setting.get("setting"); - const value = setting.get("value"); + return SiteSetting.update(setting.get("setting"), setting.get("value"), { + updateExistingUsers: this.updateExistingUsers + }); + }, - if (defaultCategoriesSettings.includes(key)) { - AboutRoute.create() - .model() - .then(result => { - const controller = showModal("site-setting-default-categories", { - model: { - count: result.stats.user_count, - key: key.replace(/_/g, " ") - }, - admin: true - }); + actions: { + update() { + const defaultCategoriesSettings = [ + "default_categories_watching", + "default_categories_tracking", + "default_categories_muted", + "default_categories_watching_first_post" + ]; + const key = this.buffered.get("setting"); - controller.set("onClose", () => { - return SiteSetting.update(key, value, { - updateExistingUsers: controller.updateExistingUsers + if (defaultCategoriesSettings.includes(key)) { + AboutRoute.create() + .model() + .then(result => { + const controller = showModal("site-setting-default-categories", { + model: { + count: result.stats.user_count, + key: key.replace(/_/g, " ") + }, + admin: true + }); + + controller.set("onClose", () => { + this.updateExistingUsers = controller.updateExistingUsers; + this.send("save"); }); }); - }); - } else { - return SiteSetting.update(key, value); + } else { + this.send("save"); + } } } }); diff --git a/app/assets/javascripts/admin/templates/components/site-setting.hbs b/app/assets/javascripts/admin/templates/components/site-setting.hbs index 50fb7d413e4..980c30986cd 100644 --- a/app/assets/javascripts/admin/templates/components/site-setting.hbs +++ b/app/assets/javascripts/admin/templates/components/site-setting.hbs @@ -6,7 +6,7 @@ </div> {{#if dirty}} <div class='setting-controls'> - {{d-button class="ok" action=(action "save") icon="check"}} + {{d-button class="ok" action=(action "update") icon="check"}} {{d-button class="cancel" action=(action "cancel") icon="times"}} </div> {{else if setting.overridden}}