forked from extern/egroupware
Avoid to refresh mail list if the active folder is not the Draft folder while saving compose mail as draft
This commit is contained in:
parent
055c9f8966
commit
ddc26c361c
@ -2430,7 +2430,8 @@ class mail_compose
|
|||||||
$response->data(array(
|
$response->data(array(
|
||||||
'draftedId' => $draft_id,
|
'draftedId' => $draft_id,
|
||||||
'message' => $msg,
|
'message' => $msg,
|
||||||
'success' => $success
|
'success' => $success,
|
||||||
|
'draftfolder' => $this->mail_bo->profileID.mail_ui::$delimiter.$this->mail_bo->getDraftFolder()
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3187,6 +3187,7 @@ app.classes.mail = AppJS.extend(
|
|||||||
* -draftedId: new drafted id created by server
|
* -draftedId: new drafted id created by server
|
||||||
* -message: resault message
|
* -message: resault message
|
||||||
* -success: true if saving was successful otherwise false
|
* -success: true if saving was successful otherwise false
|
||||||
|
* -draftfolder: Name of draft folder including its delimiter
|
||||||
*
|
*
|
||||||
* @param {string} _action action is the element which caused saving draft, it could be as such:
|
* @param {string} _action action is the element which caused saving draft, it could be as such:
|
||||||
* -button[saveAsDraft]
|
* -button[saveAsDraft]
|
||||||
@ -3198,7 +3199,7 @@ app.classes.mail = AppJS.extend(
|
|||||||
//Make sure there's a response from server otherwise shoot an error message
|
//Make sure there's a response from server otherwise shoot an error message
|
||||||
if (jQuery.isEmptyObject(_responseData))
|
if (jQuery.isEmptyObject(_responseData))
|
||||||
{
|
{
|
||||||
this.egw.message('Could not saved the message. Besause, the response from server failed.', 'error');
|
this.egw.message('Could not saved the message. Because, the response from server failed.', 'error');
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3206,17 +3207,22 @@ app.classes.mail = AppJS.extend(
|
|||||||
{
|
{
|
||||||
var content = this.et2.getArrayMgr('content');
|
var content = this.et2.getArrayMgr('content');
|
||||||
var lastDrafted = this.et2.getWidgetById('lastDrafted');
|
var lastDrafted = this.et2.getWidgetById('lastDrafted');
|
||||||
|
var folderTree = opener.etemplate2.getByApplication('mail')[0].widgetContainer.getWidgetById('nm[foldertree]');
|
||||||
|
var activeFolder = folderTree?folderTree.getSelectedNode():null;
|
||||||
if (content)
|
if (content)
|
||||||
{
|
{
|
||||||
var prevDraftedId = content.data.lastDrafted;
|
var prevDraftedId = content.data.lastDrafted;
|
||||||
content.data.lastDrafted = _responseData.draftedId;
|
content.data.lastDrafted = _responseData.draftedId;
|
||||||
this.et2.setArrayMgr('content', content);
|
this.et2.setArrayMgr('content', content);
|
||||||
lastDrafted.set_value(_responseData.draftedId);
|
lastDrafted.set_value(_responseData.draftedId);
|
||||||
|
if (typeof activeFolder.id !='undefined'&& activeFolder && _responseData.draftfolder == activeFolder.id)
|
||||||
|
{
|
||||||
if (prevDraftedId)
|
if (prevDraftedId)
|
||||||
{
|
{
|
||||||
opener.egw_refresh(_responseData.message,'mail', prevDraftedId, 'delete');
|
opener.egw_refresh(_responseData.message,'mail', prevDraftedId, 'delete');
|
||||||
}
|
}
|
||||||
this.egw.refresh(_responseData.message,'mail',_responseData.draftedId);
|
this.egw.refresh(_responseData.message,'mail',_responseData.draftedId);
|
||||||
|
}
|
||||||
switch (_action)
|
switch (_action)
|
||||||
{
|
{
|
||||||
case 'button[saveAsDraftAndPrint]':
|
case 'button[saveAsDraftAndPrint]':
|
||||||
|
Loading…
Reference in New Issue
Block a user