FIX: Don't allow moving a category with children underneath another

category (creating grandchildren)
This commit is contained in:
Robin Ward 2014-02-03 15:09:35 -05:00
parent b9989dd24b
commit bf951689e8
4 changed files with 21 additions and 3 deletions

View File

@ -20,6 +20,11 @@ Discourse.EditCategoryController = Discourse.ObjectController.extend(Discourse.M
}); });
}.property(), }.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() { onShow: function() {
this.changeSize(); this.changeSize();
this.titleChanged(); this.titleChanged();

View File

@ -73,6 +73,12 @@ Handlebars.registerHelper('categoryLinkRaw', function(property, options) {
return categoryLinkHTML(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("<span class='badge-category' style='" + style + "'>" + category.get('name') + "</span>");
});
/** /**
Produces a bound link to a category Produces a bound link to a category

View File

@ -22,8 +22,15 @@
</section> </section>
<section class='field'> <section class='field'>
<label>{{i18n category.parent}}</label> {{#if subCategories}}
{{categoryChooser valueAttribute="id" value=parent_category_id categories=parentCategories}} <label>{{i18n categories.subcategories}}</label>
{{#each subCategories}}
{{categoryBadge this}}
{{/each}}
{{else}}
<label>{{i18n category.parent}}</label>
{{categoryChooser valueAttribute="id" value=parent_category_id categories=parentCategories}}
{{/if}}
</section> </section>
{{#unless isUncategorized}} {{#unless isUncategorized}}

View File

@ -196,7 +196,7 @@ en:
latest: "Latest" latest: "Latest"
latest_by: "latest by" latest_by: "latest by"
toggle_ordering: "toggle ordering control" toggle_ordering: "toggle ordering control"
subcategories: "Subcategories:" subcategories: "Subcategories"
topic_stats: "The number of new topics." topic_stats: "The number of new topics."
topic_stat_sentence: topic_stat_sentence:
one: "%{count} new topic in the past %{unit}." one: "%{count} new topic in the past %{unit}."