mirror of
https://github.com/inverse-inc/sogo.git
synced 2026-07-15 13:24:54 +00:00
(feat) can now copy mails
This commit is contained in:
@@ -132,7 +132,7 @@
|
||||
|
||||
path.splice(0, 0, accountId); // insert account ID
|
||||
|
||||
return path.join('/');
|
||||
return '/' + path.join('/');
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -370,6 +370,28 @@
|
||||
return Mailbox.$$resource.post(this.id, 'batchDelete', {uids: uids});
|
||||
};
|
||||
|
||||
/**
|
||||
* @function $copyMessages
|
||||
* @memberof Mailbox.prototype
|
||||
* @desc Copy multiple messages from the current mailbox to a target one
|
||||
* @return a promise of the HTTP operation
|
||||
*/
|
||||
Mailbox.prototype.$copyMessages = function(uids, folder) {
|
||||
var _this = this;
|
||||
return Mailbox.$$resource.post(this.id, 'copyMessages', {uids: uids, folder: folder});
|
||||
};
|
||||
|
||||
/**
|
||||
* @function $moveMessages
|
||||
* @memberof Mailbox.prototype
|
||||
* @desc Move multiple messages from the current mailbox to a target one
|
||||
* @return a promise of the HTTP operation
|
||||
*/
|
||||
Mailbox.prototype.$moveMessages = function(uids, folder) {
|
||||
var _this = this;
|
||||
return Mailbox.$$resource.post(this.id, 'moveMessages', {uids: uids, folder: folder});
|
||||
};
|
||||
|
||||
/**
|
||||
* @function $reset
|
||||
* @memberof Mailbox.prototype
|
||||
|
||||
@@ -176,6 +176,26 @@
|
||||
// Delete failed
|
||||
});
|
||||
};
|
||||
|
||||
$scope.copySelectedMessages = function(folder) {
|
||||
var selectedMessages = _.filter($rootScope.mailbox.$messages, function(message) { return message.selected });
|
||||
var selectedUIDs = _.pluck(selectedMessages, 'uid');
|
||||
$rootScope.mailbox.$copyMessages(selectedUIDs, folder).then(function() {
|
||||
// TODO: refresh target mailbox?
|
||||
}, function(error) {
|
||||
Dialog.alert(l('Error'), error.error);
|
||||
});
|
||||
};
|
||||
|
||||
// $scope.moveSelectedMessages = function(folder) {
|
||||
// var selectedMessages = _.filter($rootScope.mailbox.$messages, function(message) { return message.selected });
|
||||
// var selectedUIDs = _.pluck(selectedMessages, 'uid');
|
||||
// $rootScope.mailbox.$moveMessages(selectedUIDs, folder).then(function() {
|
||||
// // TODO: refresh target mailbox?
|
||||
// $rootScope.mailbox.$messages = _.difference($rootScope.mailbox.$messages, selectedMessages);
|
||||
// });
|
||||
// };
|
||||
|
||||
if ($state.current.name == 'mail' && $scope.accounts.length > 0 && $scope.accounts[0].$mailboxes.length > 0) {
|
||||
// Redirect to first mailbox of first account if no mailbox is selected
|
||||
var account = $scope.accounts[0];
|
||||
|
||||
Reference in New Issue
Block a user