diff --git a/app/assets/javascripts/discourse/controllers/composer.js.es6 b/app/assets/javascripts/discourse/controllers/composer.js.es6
index a9d77ba06b2..13d3f291b9a 100644
--- a/app/assets/javascripts/discourse/controllers/composer.js.es6
+++ b/app/assets/javascripts/discourse/controllers/composer.js.es6
@@ -563,14 +563,17 @@ export default Ember.Controller.extend({
return;
}
+ this.setProperties({ showEditReason: false, editReason: null, scopedCategoryId: null });
+
// If we show the subcategory list, scope the categories drop down to
// the category we opened the composer with.
- if (this.siteSettings.show_subcategory_list && opts.draftKey !== 'reply_as_new_topic') {
- this.set('scopedCategoryId', opts.categoryId);
+ if (opts.categoryId && opts.draftKey !== 'reply_as_new_topic') {
+ const category = this.site.categories.findBy('id', opts.categoryId);
+ if (category && (category.get('show_subcategory_list') || category.get('parentCategory.show_subcategory_list'))) {
+ this.set('scopedCategoryId', opts.categoryId);
+ }
}
- this.setProperties({ showEditReason: false, editReason: null });
-
// If we want a different draft than the current composer, close it and clear our model.
if (composerModel &&
opts.draftKey !== composerModel.draftKey &&
diff --git a/app/assets/javascripts/discourse/controllers/navigation/category.js.es6 b/app/assets/javascripts/discourse/controllers/navigation/category.js.es6
index c3bcae7a96d..3e6fc512109 100644
--- a/app/assets/javascripts/discourse/controllers/navigation/category.js.es6
+++ b/app/assets/javascripts/discourse/controllers/navigation/category.js.es6
@@ -3,9 +3,8 @@ import NavigationDefaultController from 'discourse/controllers/navigation/defaul
import { setting } from 'discourse/lib/computed';
export default NavigationDefaultController.extend({
- subcategoryListSetting: setting('show_subcategory_list'),
showingParentCategory: Em.computed.none('category.parentCategory'),
- showingSubcategoryList: Em.computed.and('subcategoryListSetting', 'showingParentCategory'),
+ showingSubcategoryList: Em.computed.and('category.show_subcategory_list', 'showingParentCategory'),
@computed("showingSubcategoryList", "category", "noSubcategories")
navItems(showingSubcategoryList, category, noSubcategories) {
diff --git a/app/assets/javascripts/discourse/models/category.js.es6 b/app/assets/javascripts/discourse/models/category.js.es6
index b31f715b810..735fdda1a8a 100644
--- a/app/assets/javascripts/discourse/models/category.js.es6
+++ b/app/assets/javascripts/discourse/models/category.js.es6
@@ -102,7 +102,8 @@ const Category = RestModel.extend({
allowed_tag_groups: this.get('allowed_tag_groups'),
sort_order: this.get('sort_order'),
sort_ascending: this.get('sort_ascending'),
- topic_featured_link_allowed: this.get('topic_featured_link_allowed')
+ topic_featured_link_allowed: this.get('topic_featured_link_allowed'),
+ show_subcategory_list: this.get('show_subcategory_list')
},
type: id ? 'PUT' : 'POST'
});
diff --git a/app/assets/javascripts/discourse/routes/build-category-route.js.es6 b/app/assets/javascripts/discourse/routes/build-category-route.js.es6
index 14bc77f8a5f..b7b41676325 100644
--- a/app/assets/javascripts/discourse/routes/build-category-route.js.es6
+++ b/app/assets/javascripts/discourse/routes/build-category-route.js.es6
@@ -51,7 +51,7 @@ export default (filter, params) => {
_createSubcategoryList(category) {
this._categoryList = null;
- if (Em.isNone(category.get('parentCategory')) && Discourse.SiteSettings.show_subcategory_list) {
+ if (Em.isNone(category.get('parentCategory')) && category.get('show_subcategory_list')) {
return CategoryList.listForParent(this.store, category).then(list => this._categoryList = list);
}
diff --git a/app/assets/javascripts/discourse/templates/components/edit-category-settings.hbs b/app/assets/javascripts/discourse/templates/components/edit-category-settings.hbs
index bf439c9e43c..ed9c0689c2c 100644
--- a/app/assets/javascripts/discourse/templates/components/edit-category-settings.hbs
+++ b/app/assets/javascripts/discourse/templates/components/edit-category-settings.hbs
@@ -19,6 +19,15 @@
+{{#unless category.parent_category_id}}
+
+
+
+{{/unless}}
+