Thomas Bruederli
2014-01-27 90dc9b15125b60c000e10006a6b95ad72952ae9e
Compare message IDs before suggesting to restore compose messages on reply
2 files modified
14 ■■■■■ changed files
program/js/app.js 11 ●●●●● patch | view | raw | blame | history
program/steps/mail/compose.inc 3 ●●●●● patch | view | raw | blame | history
program/js/app.js
@@ -3141,6 +3141,10 @@
        if (this.env.draft_id && formdata.draft_id && formdata.draft_id != this.env.draft_id) {
          continue;
        }
        // skip records on reply
        if (this.env.reply_msgid && formdata.reply_msgid != this.env.reply_msgid) {
          continue;
        }
        // show dialog asking to restore the message
        if (formdata.changed && formdata.session != this.env.session_id) {
          this.show_popup_dialog(
@@ -3616,8 +3620,10 @@
      this.env.draft_id = id;
      $("input[name='_draft_saveid']").val(id);
      this.remove_compose_data(this.env.compose_id);
    }
    // always remove local copy upon saving as draft
    this.remove_compose_data(this.env.compose_id);
  };
  this.auto_save_start = function()
@@ -3681,6 +3687,9 @@
    if (this.env.draft_id) {
      formdata.draft_id = this.env.draft_id;
    }
    if (this.env.reply_msgid) {
      formdata.reply_msgid = this.env.reply_msgid;
    }
    $('input, select, textarea', this.gui_objects.messageform).each(function(i, elem) {
      switch (elem.tagName.toLowerCase()) {
program/steps/mail/compose.inc
@@ -271,6 +271,9 @@
    }
}
if (!empty($COMPOSE['reply_msgid']))
  $OUTPUT->set_env('reply_msgid', $COMPOSE['reply_msgid']);
$MESSAGE->compose = array();
// get user's identities