* Mail: feature to allow to void the (configured) spam/junk folder on right-click action on foldertree

This commit is contained in:
Klaus Leithoff
2015-02-19 12:01:18 +00:00
parent 212e98ccdb
commit acb4f11d24
2 changed files with 115 additions and 1 deletions

View File

@ -1210,6 +1210,25 @@ app.classes.mail = AppJS.extend(
return true;
},
/**
* Check if SpamFolder is enabled on that account
*
* SpamFolder enabled is stored as data { spamfolder: true/false } on account node.
*
* @param {object} _action
* @param {object} _senders the representation of the tree leaf to be manipulated
* @param {object} _currentNode
*/
spamfolder_enabled: function(_action,_senders,_currentNode)
{
var ftree = this.et2.getWidgetById(this.nm_index+'[foldertree]');
var acc_id = _senders[0].id.split('::')[0];
var node = ftree ? ftree.getNode(acc_id) : null;
return node && node.data && node.data.spamfolder;
},
/**
* Check if Sieve is enabled on that account
*
@ -1574,6 +1593,38 @@ app.classes.mail = AppJS.extend(
// setting class of row, the old style
},
/**
* mail_emptySpam
*
* @param {object} action
* @param {object} _senders
*/
mail_emptySpam: function(action,_senders) {
var server = _senders[0].iface.id.split('::');
var activeFilters = this.mail_getActiveFilters();
var self = this;
this.egw.message(this.egw.lang('empty spam'));
egw.json('mail.mail_ui.ajax_emptySpam',[server[0], activeFilters['selectedFolder']? activeFilters['selectedFolder']:null],function(){self.unlock_tree();})
.sendRequest(true);
// Directly delete any trash cache for selected server
if(window.localStorage)
{
for(var i = 0; i < window.localStorage.length; i++)
{
var key = window.localStorage.key(i);
// Find directly by what the key would look like
if(key.indexOf('cached_fetch_mail::{"selectedFolder":"'+server[0]+'::') == 0 &&
key.toLowerCase().indexOf(egw.lang('junk').toLowerCase()) > 0)
{
window.localStorage.removeItem(key);
}
}
}
},
/**
* mail_emptyTrash
*