From c9caf2f49ae09c7ce76022b63ed9047b37d71ffb Mon Sep 17 00:00:00 2001 From: Jefferson Stachelski Date: Fri, 13 Nov 2015 11:19:25 -0200 Subject: Issue #523 - Created an archive mail button --- web-ui/app/js/services/mail_service.js | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) (limited to 'web-ui/app/js/services/mail_service.js') diff --git a/web-ui/app/js/services/mail_service.js b/web-ui/app/js/services/mail_service.js index e655bb7e..6a42d920 100644 --- a/web-ui/app/js/services/mail_service.js +++ b/web-ui/app/js/services/mail_service.js @@ -128,7 +128,16 @@ define( var mails = dataToRecover.mails || [dataToRecover.mail]; this.refreshMails(); - this.trigger(document, events.ui.userAlerts.displayMessage, { message: dataToRecover.successMessage}); + this.trigger(document, events.ui.userAlerts.displayMessage, { message: i18n(dataToRecover.successMessage)}); + this.trigger(document, events.ui.mails.uncheckAll); + }, this); + }; + + this.triggerArchived = function (dataToArchive) { + return _.bind(function (response) { + this.refreshMails(); + this.trigger(document, events.ui.userAlerts.displayMessage, { message: i18n(response.successMessage)}); + //this.trigger(document, events.ui.userAlerts.displayMessage, { message: i18n("Your message was archived")}); this.trigger(document, events.ui.mails.uncheckAll); }, this); }; @@ -170,6 +179,20 @@ define( .fail(this.errorMessage(i18n('Could not move emails to inbox'))); }; + this.archiveManyMails = function(event, dataToArchive) { + var mailIdents = _.map(dataToArchive.checkedMails, function (mail) { + return mail.ident; + }); + + monitoredAjax(this, '/mails/archive', { + type: 'POST', + dataType: 'json', + contentType: 'application/json; charset=utf-8', + data: JSON.stringify({idents: mailIdents}) + }).done(this.triggerArchived(dataToArchive)) + .fail(this.errorMessage(i18n('Could not archive emails'))); + } + function compileQuery(data) { var query = 'tag:"' + that.attr.currentTag + '"'; @@ -299,6 +322,7 @@ define( this.on(document, events.mail.delete, this.deleteMail); this.on(document, events.mail.deleteMany, this.deleteManyMails); this.on(document, events.mail.recoverMany, this.recoverManyMails); + this.on(document, events.mail.archiveMany, this.archiveManyMails); this.on(document, events.search.perform, this.newSearch); this.on(document, events.ui.tag.selected, this.fetchByTag); this.on(document, events.ui.tag.select, this.fetchByTag); -- cgit v1.2.3