diff --git a/app/assets/javascripts/discourse/controllers/edit_category_controller.js b/app/assets/javascripts/discourse/controllers/edit_category_controller.js
index 25107c0b9b1..68b0ffeab37 100644
--- a/app/assets/javascripts/discourse/controllers/edit_category_controller.js
+++ b/app/assets/javascripts/discourse/controllers/edit_category_controller.js
@@ -20,6 +20,11 @@ Discourse.EditCategoryController = Discourse.ObjectController.extend(Discourse.M
});
}.property(),
+ // We can change the parent if there are no children
+ subCategories: function() {
+ return Discourse.Category.list().filterBy('parent_category_id', this.get('id'));
+ }.property('model.id'),
+
onShow: function() {
this.changeSize();
this.titleChanged();
diff --git a/app/assets/javascripts/discourse/helpers/application_helpers.js b/app/assets/javascripts/discourse/helpers/application_helpers.js
index da487600cbc..732f67654b9 100644
--- a/app/assets/javascripts/discourse/helpers/application_helpers.js
+++ b/app/assets/javascripts/discourse/helpers/application_helpers.js
@@ -73,6 +73,12 @@ Handlebars.registerHelper('categoryLinkRaw', function(property, options) {
return categoryLinkHTML(property, options);
});
+Handlebars.registerHelper('categoryBadge', function(property, options) {
+ var category = Em.Handlebars.get(this, property, options),
+ style = Discourse.HTML.categoryStyle(category);
+ return new Handlebars.SafeString("" + category.get('name') + "");
+});
+
/**
Produces a bound link to a category
diff --git a/app/assets/javascripts/discourse/templates/modal/edit_category.js.handlebars b/app/assets/javascripts/discourse/templates/modal/edit_category.js.handlebars
index 5671def4f22..df18f0de9f8 100644
--- a/app/assets/javascripts/discourse/templates/modal/edit_category.js.handlebars
+++ b/app/assets/javascripts/discourse/templates/modal/edit_category.js.handlebars
@@ -22,8 +22,15 @@
-
- {{categoryChooser valueAttribute="id" value=parent_category_id categories=parentCategories}}
+ {{#if subCategories}}
+
+ {{#each subCategories}}
+ {{categoryBadge this}}
+ {{/each}}
+ {{else}}
+
+ {{categoryChooser valueAttribute="id" value=parent_category_id categories=parentCategories}}
+ {{/if}}
{{#unless isUncategorized}}
diff --git a/config/locales/client.en.yml b/config/locales/client.en.yml
index 0cecfb68a92..56deab2f1f2 100644
--- a/config/locales/client.en.yml
+++ b/config/locales/client.en.yml
@@ -196,7 +196,7 @@ en:
latest: "Latest"
latest_by: "latest by"
toggle_ordering: "toggle ordering control"
- subcategories: "Subcategories:"
+ subcategories: "Subcategories"
topic_stats: "The number of new topics."
topic_stat_sentence:
one: "%{count} new topic in the past %{unit}."