Fix bug where drafts list wasn't refreshed after draft message was sent from another window (#1490238)

pull/264/head
Aleksander Machniak 10 years ago
parent 5beaac231e
commit 5d42a9353b

@ -13,6 +13,7 @@ CHANGELOG Roundcube Webmail
- Fix javascript error in "IE 8.0/Tablet PC" browser (#1490210) - Fix javascript error in "IE 8.0/Tablet PC" browser (#1490210)
- Fix bug where Reply-To address was ignored on reply to messages sent by self (#1490233) - Fix bug where Reply-To address was ignored on reply to messages sent by self (#1490233)
- Fix bug where empty fieldmap config entries caused empty results of ldap search (#1490229) - Fix bug where empty fieldmap config entries caused empty results of ldap search (#1490229)
- Fix bug where drafts list wasn't refreshed after draft message was sent from another window (#1490238)
RELEASE 1.1-rc RELEASE 1.1-rc
-------------- --------------

@ -2484,6 +2484,16 @@ function rcube_webmail()
selection.push(selected[i]); selection.push(selected[i]);
this.message_list.selection = selection; this.message_list.selection = selection;
// reset preview frame, if currently previewed message is not selected (has been removed)
try {
var win = this.get_frame_window(this.env.contentframe),
id = win.rcmail.env.uid;
if (id && $.inArray(id, selection) < 0)
this.show_contentframe(false);
}
catch (e) {};
}; };
// expand all threads with unread children // expand all threads with unread children
@ -3971,7 +3981,6 @@ function rcube_webmail()
this.local_storage_remove_item('compose.index'); this.local_storage_remove_item('compose.index');
}; };
this.change_identity = function(obj, show_sig) this.change_identity = function(obj, show_sig)
{ {
if (!obj || !obj.options) if (!obj || !obj.options)
@ -4340,6 +4349,7 @@ function rcube_webmail()
(this.env.search_request && (this.env.search_scope || 'base') != 'base'); (this.env.search_request && (this.env.search_scope || 'base') != 'base');
}; };
// action executed after mail is sent
this.sent_successfully = function(type, msg, folders) this.sent_successfully = function(type, msg, folders)
{ {
this.display_message(msg, type); this.display_message(msg, type);
@ -4348,11 +4358,13 @@ function rcube_webmail()
if (this.env.extwin) { if (this.env.extwin) {
this.lock_form(this.gui_objects.messageform); this.lock_form(this.gui_objects.messageform);
var rc = this.opener(); var filter = {task: 'mail', action: ''},
rc = this.opener(false, filter) || this.opener(true, filter);
if (rc) { if (rc) {
rc.display_message(msg, type); rc.display_message(msg, type);
// refresh the folder where sent message was saved or replied message comes from // refresh the folder where sent message was saved or replied message comes from
if (folders && rc.env.task == 'mail' && rc.env.action == '' && $.inArray(rc.env.mailbox, folders) >= 0) { if (folders && $.inArray(rc.env.mailbox, folders) >= 0) {
rc.command('checkmail'); rc.command('checkmail');
} }
} }

@ -53,13 +53,14 @@ if (!is_array($COMPOSE)) {
} }
$COMPOSE_ID = uniqid(mt_rand()); $COMPOSE_ID = uniqid(mt_rand());
$params = rcube_utils::request2param(rcube_utils::INPUT_GET, 'task|action', true);
$_SESSION['compose_data_'.$COMPOSE_ID] = array( $_SESSION['compose_data_'.$COMPOSE_ID] = array(
'id' => $COMPOSE_ID, 'id' => $COMPOSE_ID,
'param' => rcube_utils::request2param(rcube_utils::INPUT_GET, 'task|action', true), 'param' => $params,
'mailbox' => $RCMAIL->storage->get_folder(), 'mailbox' => $params['mbox'] ?: $RCMAIL->storage->get_folder(),
); );
$COMPOSE =& $_SESSION['compose_data_'.$COMPOSE_ID]; $COMPOSE =& $_SESSION['compose_data_'.$COMPOSE_ID];
rcmail_process_compose_params($COMPOSE); rcmail_process_compose_params($COMPOSE);
// check if folder for saving sent messages exists and is subscribed (#1486802) // check if folder for saving sent messages exists and is subscribed (#1486802)

@ -686,7 +686,7 @@ if ($savedraft) {
else { else {
$folders = array(); $folders = array();
if ($COMPOSE['mode'] == 'reply' || $COMPOSE['mode'] == 'forward') { if (in_array($COMPOSE['mode'], array('reply', 'forward', 'draft'))) {
$folders[] = $COMPOSE['mailbox']; $folders[] = $COMPOSE['mailbox'];
} }

Loading…
Cancel
Save