FEATURE: Bulk reset read status.

This commit is contained in:
Robin Ward
2014-02-21 13:03:50 -05:00
parent 7a07f14dfc
commit a07e9f7e71
9 changed files with 41 additions and 19 deletions
@@ -7,7 +7,7 @@
@module Discourse
**/
Discourse.BulkNotificationLevelController = Em.Controller.extend({
needs: ['topicBulkActions', 'discoveryTopics'],
needs: ['topicBulkActions'],
notificationLevelId: null,
@@ -27,17 +27,9 @@ Discourse.BulkNotificationLevelController = Em.Controller.extend({
actions: {
changeNotificationLevel: function() {
var self = this;
this.get('controllers.topicBulkActions').perform({
this.get('controllers.topicBulkActions').performAndRefresh({
type: 'change_notification_level',
notification_level_id: this.get('notificationLevelId')
}).then(function(topics) {
if (topics) {
// Tell current route to reload
self.get('controllers.discoveryTopics').send('refresh');
self.send('closeModal');
}
});
}
}
@@ -8,6 +8,8 @@
@module Discourse
**/
Discourse.TopicBulkActionsController = Ember.ArrayController.extend(Discourse.ModalFunctionality, {
needs: ['discoveryTopics'],
onShow: function() {
this.set('controllers.modal.modalClass', 'topic-bulk-actions-modal small');
},
@@ -40,6 +42,14 @@ Discourse.TopicBulkActionsController = Ember.ArrayController.extend(Discourse.Mo
});
},
performAndRefresh: function(operation) {
var self = this;
return this.perform(operation).then(function() {
self.get('controllers.discoveryTopics').send('refresh');
self.send('closeModal');
});
},
actions: {
showChangeCategory: function() {
this.send('changeBulkTemplate', 'modal/bulk_change_category');
@@ -66,6 +76,10 @@ Discourse.TopicBulkActionsController = Ember.ArrayController.extend(Discourse.Mo
});
self.send('closeModal');
});
},
resetRead: function() {
this.performAndRefresh({ type: 'reset_read' });
}
}
});
@@ -1,3 +1,4 @@
<button class='btn' {{action showChangeCategory}}>{{i18n topics.bulk.change_category}}</button>
<button class='btn' {{action closeTopics}}>{{i18n topics.bulk.close_topics}}</button>
<button class='btn' {{action showNotificationLevel}}>{{i18n topics.bulk.notification_level}}</button>
<button class='btn' {{action resetRead}}>{{i18n topics.bulk.reset_read}}</button>