FEATURE: added UI for tracking categories

This commit is contained in:
Sam
2014-01-06 11:57:17 +11:00
parent 3a2ae0061b
commit f91163e146
5 changed files with 25 additions and 2 deletions

View File

@@ -181,8 +181,9 @@ Discourse.User = Discourse.Model.extend({
'external_links_in_new_tab',
'watch_new_topics',
'enable_quoting');
data.watched_category_ids = this.get('watchedCategories').map(function(c){ return c.get('id')});
data.muted_category_ids = this.get('mutedCategories').map(function(c){ return c.get('id')});
_.each(['muted','watched','tracked'], function(s){
data[s + '_category_ids'] = user.get(s + 'Categories').map(function(c){ return c.get('id')});
});
return Discourse.ajax("/users/" + this.get('username_lower'), {
data: data,
@@ -362,6 +363,12 @@ Discourse.User = Discourse.Model.extend({
}));
}.observes("muted_category_ids"),
updateTrackedCategories: function() {
this.set("trackedCategories", _.map(this.tracked_category_ids, function(id){
return Discourse.Category.findById(id);
}));
}.observes("tracked_category_ids"),
updateWatchedCategories: function() {
this.set("watchedCategories", _.map(this.watched_category_ids, function(id){
return Discourse.Category.findById(id);

View File

@@ -141,6 +141,11 @@
{{category-group categories=watchedCategories}}
<div class="instructions">{{i18n user.watched_categories_instructions}}</div>
</div>
<div class="controls">
<label>{{i18n user.tracked_categories}}</label>
{{category-group categories=trackedCategories}}
<div class="instructions">{{i18n user.tracked_categories_instructions}}</div>
</div>
<div class="controls">
<label>{{i18n user.muted_categories}}</label>
{{category-group categories=mutedCategories}}