(js) Add support for XSRF token with downloads

Initial support to download a file from an Ajax query. This allows the
XSRF token to be sent and verified by the server.
This commit is contained in:
Francis Lachapelle
2016-05-03 12:57:36 -04:00
parent 7bf7a34a78
commit 64ce63d812
10 changed files with 81 additions and 18 deletions
@@ -530,6 +530,21 @@
return Mailbox.$$resource.post(this.id, 'addOrRemoveLabel', data);
};
/**
* @function saveSelectedMessages
* @memberof Mailbox.prototype
* @desc Download the selected messages
* @returns a promise of the HTTP operation
*/
Mailbox.prototype.saveSelectedMessages = function() {
var selectedMessages, selectedUIDs;
selectedMessages = _.filter(this.$messages, function(message) { return message.selected; });
selectedUIDs = _.map(selectedMessages, 'uid');
return Mailbox.$$resource.download(this.id, 'saveMessages', {uids: selectedUIDs});
};
/**
* @function $delete
* @memberof Mailbox.prototype
@@ -26,7 +26,6 @@
vm.markOrUnMarkMessagesAsJunk = markOrUnMarkMessagesAsJunk;
vm.copySelectedMessages = copySelectedMessages;
vm.moveSelectedMessages = moveSelectedMessages;
vm.saveSelectedMessages = saveSelectedMessages;
vm.markSelectedMessagesAsFlagged = markSelectedMessagesAsFlagged;
vm.markSelectedMessagesAsUnread = markSelectedMessagesAsUnread;
vm.selectAll = selectAll;
@@ -153,12 +152,6 @@
});
}
function saveSelectedMessages() {
var selectedMessages = _.filter(vm.selectedFolder.$messages, function(message) { return message.selected; });
var selectedUIDs = _.map(selectedMessages, 'uid');
window.location.href = ApplicationBaseURL + '/' + vm.selectedFolder.id + '/saveMessages?uid=' + selectedUIDs.join(",");
}
function selectAll() {
var i = 0, length = vm.selectedFolder.$messages.length;
for (; i < length; i++)