mirror of
https://github.com/EGroupware/egroupware.git
synced 2025-02-13 08:50:45 +01:00
move empty trash/compress folder to actionsmenu on tree
This commit is contained in:
parent
bcba09973f
commit
9aa1506a84
@ -3751,6 +3751,7 @@ blockquote[type=cite] {
|
|||||||
{
|
{
|
||||||
//error_log(__METHOD__.__LINE__.array2string($icServerID));
|
//error_log(__METHOD__.__LINE__.array2string($icServerID));
|
||||||
if (is_null($icServerID)) $icServerID = $this->mail_bo->profileID;
|
if (is_null($icServerID)) $icServerID = $this->mail_bo->profileID;
|
||||||
|
$rememberServerID = $this->mail_bo->profileID;
|
||||||
if ($icServerID && $icServerID != $this->mail_bo->profileID)
|
if ($icServerID && $icServerID != $this->mail_bo->profileID)
|
||||||
{
|
{
|
||||||
//error_log(__METHOD__.__LINE__.' change Profile to ->'.$icServerID);
|
//error_log(__METHOD__.__LINE__.' change Profile to ->'.$icServerID);
|
||||||
@ -3773,7 +3774,11 @@ blockquote[type=cite] {
|
|||||||
$content['quotaclass'] = $sel_options[self::$nm_index]['quotaclass'] = "mail_DisplayNone";
|
$content['quotaclass'] = $sel_options[self::$nm_index]['quotaclass'] = "mail_DisplayNone";
|
||||||
$content['quotanotsupported'] = $sel_options[self::$nm_index]['quotanotsupported'] = "mail_DisplayNone";
|
$content['quotanotsupported'] = $sel_options[self::$nm_index]['quotanotsupported'] = "mail_DisplayNone";
|
||||||
}
|
}
|
||||||
|
if ($rememberServerID != $this->mail_bo->profileID)
|
||||||
|
{
|
||||||
|
//error_log(__METHOD__.__LINE__.' change Profile to ->'.$rememberServerID);
|
||||||
|
$this->changeProfile($rememberServerID);
|
||||||
|
}
|
||||||
$response = egw_json_response::get();
|
$response = egw_json_response::get();
|
||||||
$response->call('app.mail.mail_setQuotaDisplay',array('data'=>$content));
|
$response->call('app.mail.mail_setQuotaDisplay',array('data'=>$content));
|
||||||
}
|
}
|
||||||
@ -3781,34 +3786,70 @@ blockquote[type=cite] {
|
|||||||
/**
|
/**
|
||||||
* empty trash folder - its called via json, so the function must start with ajax (or the class-name must contain ajax)
|
* empty trash folder - its called via json, so the function must start with ajax (or the class-name must contain ajax)
|
||||||
*
|
*
|
||||||
|
* @param string $icServerID id of the server to empty its trashFolder
|
||||||
* @return nothing
|
* @return nothing
|
||||||
*/
|
*/
|
||||||
function ajax_emptyTrash()
|
function ajax_emptyTrash($icServerID)
|
||||||
{
|
{
|
||||||
|
error_log(__METHOD__.__LINE__.' '.$icServerID);
|
||||||
|
$rememberServerID = $this->mail_bo->profileID;
|
||||||
|
if ($icServerID && $icServerID != $this->mail_bo->profileID)
|
||||||
|
{
|
||||||
|
//error_log(__METHOD__.__LINE__.' change Profile to ->'.$icServerID);
|
||||||
|
$this->changeProfile($icServerID);
|
||||||
|
}
|
||||||
$trashFolder = $this->mail_bo->getTrashFolder();
|
$trashFolder = $this->mail_bo->getTrashFolder();
|
||||||
if(!empty($trashFolder)) {
|
if(!empty($trashFolder)) {
|
||||||
$this->mail_bo->compressFolder($trashFolder);
|
$this->mail_bo->compressFolder($trashFolder);
|
||||||
}
|
}
|
||||||
$response = egw_json_response::get();
|
if ($rememberServerID != $this->mail_bo->profileID)
|
||||||
$response->call('egw_refresh',lang('empty trash'),'mail');
|
{
|
||||||
|
$oldFolderInfo = $this->mail_bo->getFolderStatus($trashFolder,false);
|
||||||
|
$response = egw_json_response::get();
|
||||||
|
$response->call('egw_message',lang('empty trash'));
|
||||||
|
$response->call('app.mail.mail_reloadNode',array($icServerID.self::$delimiter.$trashFolder=>$oldFolderInfo['shortDisplayName']));
|
||||||
|
//error_log(__METHOD__.__LINE__.' change Profile to ->'.$rememberServerID);
|
||||||
|
$this->changeProfile($rememberServerID);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$response = egw_json_response::get();
|
||||||
|
$response->call('egw_refresh',lang('empty trash'),'mail');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* compress folder - its called via json, so the function must start with ajax (or the class-name must contain ajax)
|
* compress folder - its called via json, so the function must start with ajax (or the class-name must contain ajax)
|
||||||
* fetches the current folder from session and compresses it
|
* fetches the current folder from session and compresses it
|
||||||
|
* @param string $_folderName id of the folder to compress
|
||||||
* @return nothing
|
* @return nothing
|
||||||
*/
|
*/
|
||||||
function ajax_compressFolder()
|
function ajax_compressFolder($_folderName)
|
||||||
{
|
{
|
||||||
|
error_log(__METHOD__.__LINE__.' '.$_folderName);
|
||||||
$this->mail_bo->restoreSessionData();
|
$this->mail_bo->restoreSessionData();
|
||||||
$folder = $this->mail_bo->sessionData['mailbox'];
|
$decodedFolderName = $this->mail_bo->decodeEntityFolderName($_folderName);
|
||||||
if ($this->mail_bo->folderExists($folder))
|
list($icServerID,$folderName) = explode(self::$delimiter,$decodedFolderName,2);
|
||||||
|
|
||||||
|
if (empty($folderName)) $folderName = $this->mail_bo->sessionData['mailbox'];
|
||||||
|
if ($this->mail_bo->folderExists($folderName))
|
||||||
{
|
{
|
||||||
|
$rememberServerID = $this->mail_bo->profileID;
|
||||||
|
if ($icServerID && $icServerID != $this->mail_bo->profileID)
|
||||||
|
{
|
||||||
|
//error_log(__METHOD__.__LINE__.' change Profile to ->'.$icServerID);
|
||||||
|
$this->changeProfile($icServerID);
|
||||||
|
}
|
||||||
if(!empty($folder)) {
|
if(!empty($folder)) {
|
||||||
$this->mail_bo->compressFolder($folder);
|
$this->mail_bo->compressFolder($folderName);
|
||||||
|
}
|
||||||
|
if ($rememberServerID != $this->mail_bo->profileID)
|
||||||
|
{
|
||||||
|
//error_log(__METHOD__.__LINE__.' change Profile to ->'.$rememberServerID);
|
||||||
|
$this->changeProfile($rememberServerID);
|
||||||
}
|
}
|
||||||
$response = egw_json_response::get();
|
$response = egw_json_response::get();
|
||||||
$response->call('egw_refresh',lang('compress folder').': '.$folder,'mail');
|
$response->call('egw_refresh',lang('compress folder').': '.$folderName,'mail');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -999,21 +999,29 @@ app.classes.mail = AppJS.extend(
|
|||||||
/**
|
/**
|
||||||
* mail_emptyTrash
|
* mail_emptyTrash
|
||||||
*/
|
*/
|
||||||
mail_emptyTrash: function() {
|
mail_emptyTrash: function(action,_senders) {
|
||||||
|
var server = _senders[0].iface.id.split('::');
|
||||||
|
|
||||||
|
//console.log(action,_senders,FolderName);
|
||||||
egw_message(this.egw.lang('empty trash'));
|
egw_message(this.egw.lang('empty trash'));
|
||||||
egw.json('mail.mail_ui.ajax_emptyTrash')
|
egw.json('mail.mail_ui.ajax_emptyTrash',[server[0]])
|
||||||
.sendRequest(true);
|
.sendRequest(true);
|
||||||
this.mail_refreshFolderStatus();
|
// since the json reply is using egw_refresh, we should not need to call refreshFolderStatus
|
||||||
|
// as the actions thereof are now bound to run after grid refresh
|
||||||
|
//this.mail_refreshFolderStatus();
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* mail_compressFolder
|
* mail_compressFolder
|
||||||
*/
|
*/
|
||||||
mail_compressFolder: function() {
|
mail_compressFolder: function(action,_senders) {
|
||||||
|
//console.log(action,_senders,FolderName);
|
||||||
egw_message(this.egw.lang('compress folder'));
|
egw_message(this.egw.lang('compress folder'));
|
||||||
egw.json('mail.mail_ui.ajax_compressFolder')
|
egw.json('mail.mail_ui.ajax_compressFolder',[_senders[0].iface.id])
|
||||||
.sendRequest(true);
|
.sendRequest(true);
|
||||||
this.mail_refreshFolderStatus();
|
// since the json reply is using egw_refresh, we should not need to call refreshFolderStatus
|
||||||
|
// as the actions thereof are now bound to run after grid refresh
|
||||||
|
//this.mail_refreshFolderStatus();
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
Reference in New Issue
Block a user