Refresh current folder in opener window after draft save or message sent (#1488997)

pull/66/head^2
Aleksander Machniak 11 years ago
parent 3ca58cd22c
commit 723f4e63aa

@ -1,6 +1,7 @@
CHANGELOG Roundcube Webmail CHANGELOG Roundcube Webmail
=========================== ===========================
- Refresh current folder in opener window after draft save or message sent (#1488997)
- Fix saving draft just after entering compose window (#1489012) - Fix saving draft just after entering compose window (#1489012)
- Call resize handler in intervals to prevent lags and double onresize calls in Chrome (#1489005) - Call resize handler in intervals to prevent lags and double onresize calls in Chrome (#1489005)
- Fix javascript error in IE9 when loading form with placeholders into an iframe (#1489008) - Fix javascript error in IE9 when loading form with placeholders into an iframe (#1489008)

@ -3302,6 +3302,14 @@ function rcube_webmail()
this.set_draft_id = function(id) this.set_draft_id = function(id)
{ {
var rc;
if (!this.env.draft_id && id && (rc = this.opener())) {
// refresh the drafts folder in opener window
if (rc.env.task == 'mail' && rc.env.action == '' && rc.env.mailbox == this.env.drafts_mailbox)
rc.command('checkmail');
}
this.env.draft_id = id; this.env.draft_id = id;
$("input[name='_draft_saveid']").val(id); $("input[name='_draft_saveid']").val(id);
}; };
@ -3678,15 +3686,19 @@ function rcube_webmail()
this.env.search_id = null; this.env.search_id = null;
}; };
this.sent_successfully = function(type, msg) this.sent_successfully = function(type, msg, target)
{ {
this.display_message(msg, type); this.display_message(msg, type);
if (this.env.extwin) { if (this.env.extwin) {
var opener_rc = this.opener(); var rc = this.opener();
this.lock_form(this.gui_objects.messageform); this.lock_form(this.gui_objects.messageform);
if (opener_rc) if (rc) {
opener_rc.display_message(msg, type); rc.display_message(msg, type);
// refresh the folder where sent message was saved
if (target && rc.env.task == 'mail' && rc.env.action == '' && rc.env.mailbox == target)
rc.command('checkmail');
}
setTimeout(function(){ window.close() }, 1000); setTimeout(function(){ window.close() }, 1000);
} }
else { else {

@ -820,6 +820,6 @@ else {
if ($store_folder && !$saved) if ($store_folder && !$saved)
$OUTPUT->command('sent_successfully', 'error', rcube_label('errorsavingsent')); $OUTPUT->command('sent_successfully', 'error', rcube_label('errorsavingsent'));
else else
$OUTPUT->command('sent_successfully', 'confirmation', rcube_label('messagesent')); $OUTPUT->command('sent_successfully', 'confirmation', rcube_label('messagesent'), $store_target);
$OUTPUT->send('iframe'); $OUTPUT->send('iframe');
} }

Loading…
Cancel
Save