diff --git a/UI/WebServerResources/js/Mailer/Mailbox.service.js b/UI/WebServerResources/js/Mailer/Mailbox.service.js index 9573e9e58..e7bede749 100644 --- a/UI/WebServerResources/js/Mailer/Mailbox.service.js +++ b/UI/WebServerResources/js/Mailer/Mailbox.service.js @@ -413,7 +413,22 @@ * @returns a promise of the HTTP operation */ Mailbox.prototype.$emptyTrash = function() { - return Mailbox.$$resource.post(this.id, 'emptyTrash'); + var _this = this, + deferred = Mailbox.$q.defer(), + promise; + + promise = Mailbox.$$resource.post(this.id, 'emptyTrash'); + + promise.then(function() { + // Remove all messages from the mailbox + _this.$messages = []; + _this.uidsMap = {}; + _this.unseenCount = 0; + }, function(data, status) { + deferred.reject(data); + }); + + return deferred.promise; }; /** diff --git a/UI/WebServerResources/js/Mailer/MailboxesController.js b/UI/WebServerResources/js/Mailer/MailboxesController.js index 6093a7b12..e417be4bf 100644 --- a/UI/WebServerResources/js/Mailer/MailboxesController.js +++ b/UI/WebServerResources/js/Mailer/MailboxesController.js @@ -138,10 +138,7 @@ function emptyTrashFolder(folder) { folder.$emptyTrash().then(function() { - // Success - remove all messages from the mailbox - folder.$messages = []; - folder.uidsMap = {}; - folder.unseenCount = 0; + // Success }, function(error) { Dialog.alert(l('Warning'), error); });