summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleksander Machniak <alec@alec.pl>2013-09-11 09:45:20 +0200
committerAleksander Machniak <alec@alec.pl>2013-09-11 09:45:20 +0200
commit66a549e1331fb85a04d34294b1197e6848a76954 (patch)
tree71aab41dcac97b781716ded96a164c0f3e7a3110
parent6128ad7e962a8f9bf82a1ef87e4efbe36d719d92 (diff)
After message is sent refresh messages list of replied message folder (#1489249)
-rw-r--r--CHANGELOG1
-rw-r--r--program/js/app.js10
-rw-r--r--program/steps/mail/compose.inc2
-rw-r--r--program/steps/mail/sendmail.inc21
4 files changed, 24 insertions, 10 deletions
diff --git a/CHANGELOG b/CHANGELOG
index 35b08a7c2..7c15aafe3 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,6 +1,7 @@
CHANGELOG Roundcube Webmail
===========================
+- After message is sent refresh messages list of replied message folder (#1489249)
- Add option force specified domain in user login - username_domain_forced (#1489264)
- Fix issue where From address was removed from Cc and Bcc fields when editing a draft (#1489319)
- Add option to import Vcards with group assignments
diff --git a/program/js/app.js b/program/js/app.js
index dedad37d2..166b082bf 100644
--- a/program/js/app.js
+++ b/program/js/app.js
@@ -3783,7 +3783,7 @@ function rcube_webmail()
this.env.search_id = null;
};
- this.sent_successfully = function(type, msg, target)
+ this.sent_successfully = function(type, msg, folders)
{
this.display_message(msg, type);
@@ -3792,9 +3792,11 @@ function rcube_webmail()
this.lock_form(this.gui_objects.messageform);
if (rc) {
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');
+ // 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) {
+ // @TODO: try with 'checkmail' here when #1485186 is fixed. See also #1489249.
+ rc.command('list', rc.env.mailbox);
+ }
}
setTimeout(function(){ window.close() }, 1000);
}
diff --git a/program/steps/mail/compose.inc b/program/steps/mail/compose.inc
index 4a0e52b2b..e9f638cb1 100644
--- a/program/steps/mail/compose.inc
+++ b/program/steps/mail/compose.inc
@@ -165,6 +165,8 @@ else if ($msg_uid = $COMPOSE['param']['forward_uid']) {
else if ($msg_uid = $COMPOSE['param']['uid']) {
$compose_mode = RCUBE_COMPOSE_EDIT;
}
+
+$COMPOSE['mode'] = $compose_mode;
$OUTPUT->set_env('compose_mode', $compose_mode);
$config_show_sig = $RCMAIL->config->get('show_sig', 1);
diff --git a/program/steps/mail/sendmail.inc b/program/steps/mail/sendmail.inc
index 1a92844c0..779fb87cd 100644
--- a/program/steps/mail/sendmail.inc
+++ b/program/steps/mail/sendmail.inc
@@ -823,15 +823,24 @@ if ($savedraft) {
// start the auto-save timer again
$OUTPUT->command('auto_save_start');
-
- $OUTPUT->send('iframe');
}
else {
+ $folders = array();
+
+ if ($COMPOSE['mode'] == 'reply' || $COMPOSE['mode'] == 'forward')
+ $folders[] = $COMPOSE['mailbox'];
+
rcmail_compose_cleanup($COMPOSE_ID);
if ($store_folder && !$saved)
- $OUTPUT->command('sent_successfully', 'error', rcube_label('errorsavingsent'));
- else
- $OUTPUT->command('sent_successfully', 'confirmation', rcube_label('messagesent'), $store_target);
- $OUTPUT->send('iframe');
+ $OUTPUT->command('sent_successfully', 'error', rcube_label('errorsavingsent'), $folders);
+ else {
+ if ($store_folder) {
+ $folders[] = $store_target;
+ }
+
+ $OUTPUT->command('sent_successfully', 'confirmation', rcube_label('messagesent'), $folders);
+ }
}
+
+$OUTPUT->send('iframe');