Skip to content

Commit

Permalink
Fix bug where drafts list wasn't refreshed after draft message was se…
Browse files Browse the repository at this point in the history
…nt from another window (#1490238)
  • Loading branch information
alecpl committed Jan 22, 2015
1 parent 5beaac2 commit 5d42a93
Show file tree
Hide file tree
Showing 4 changed files with 21 additions and 7 deletions.
1 change: 1 addition & 0 deletions CHANGELOG
Expand Up @@ -13,6 +13,7 @@ CHANGELOG Roundcube Webmail
- 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 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
--------------
Expand Down
18 changes: 15 additions & 3 deletions program/js/app.js
Expand Up @@ -2484,6 +2484,16 @@ function rcube_webmail()
selection.push(selected[i]);

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 Down Expand Up @@ -3971,7 +3981,6 @@ function rcube_webmail()
this.local_storage_remove_item('compose.index');
};


this.change_identity = function(obj, show_sig)
{
if (!obj || !obj.options)
Expand Down Expand Up @@ -4340,6 +4349,7 @@ function rcube_webmail()
(this.env.search_request && (this.env.search_scope || 'base') != 'base');
};

// action executed after mail is sent
this.sent_successfully = function(type, msg, folders)
{
this.display_message(msg, type);
Expand All @@ -4348,11 +4358,13 @@ function rcube_webmail()
if (this.env.extwin) {
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) {
rc.display_message(msg, type);
// 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');
}
}
Expand Down
7 changes: 4 additions & 3 deletions program/steps/mail/compose.inc
Expand Up @@ -53,13 +53,14 @@ if (!is_array($COMPOSE)) {
}

$COMPOSE_ID = uniqid(mt_rand());
$params = rcube_utils::request2param(rcube_utils::INPUT_GET, 'task|action', true);

$_SESSION['compose_data_'.$COMPOSE_ID] = array(
'id' => $COMPOSE_ID,
'param' => rcube_utils::request2param(rcube_utils::INPUT_GET, 'task|action', true),
'mailbox' => $RCMAIL->storage->get_folder(),
'param' => $params,
'mailbox' => $params['mbox'] ?: $RCMAIL->storage->get_folder(),
);
$COMPOSE =& $_SESSION['compose_data_'.$COMPOSE_ID];

rcmail_process_compose_params($COMPOSE);

// check if folder for saving sent messages exists and is subscribed (#1486802)
Expand Down
2 changes: 1 addition & 1 deletion program/steps/mail/sendmail.inc
Expand Up @@ -686,7 +686,7 @@ if ($savedraft) {
else {
$folders = array();

if ($COMPOSE['mode'] == 'reply' || $COMPOSE['mode'] == 'forward') {
if (in_array($COMPOSE['mode'], array('reply', 'forward', 'draft'))) {
$folders[] = $COMPOSE['mailbox'];
}

Expand Down

0 comments on commit 5d42a93

Please sign in to comment.