Thomas Bruederli
2013-11-10 ceb2a31b3857925e749047e2c4c574a38bf8e9ed
Compare draft message-ID when restoring local message contents
2 files modified
18 ■■■■ changed files
program/js/app.js 15 ●●●● patch | view | raw | blame | history
program/steps/mail/compose.inc 3 ●●●●● patch | view | raw | blame | history
program/js/app.js
@@ -3131,13 +3131,20 @@
      for (var key, i = 0; i < index.length; i++) {
        key = index[i], formdata = this.local_storage_get_item('compose.' + key, null, true);
        if (!formdata) {
          continue;
        }
        // restore saved copy of current compose_id
        if (formdata && formdata.changed && key == this.env.compose_id) {
        if (formdata.changed && key == this.env.compose_id) {
          this.restore_compose_form(key, html_mode);
          break;
        }
        // skip records from 'other' drafts
        if (this.env.draft_id && formdata.draft_id && formdata.draft_id != this.env.draft_id) {
          continue;
        }
        // show dialog asking to restore the message
        if (formdata && formdata.changed && formdata.session != this.env.session_id) {
        if (formdata.changed && formdata.session != this.env.session_id) {
          this.show_popup_dialog(
            this.get_label('restoresavedcomposedata')
              .replace('$date', new Date(formdata.changed).toLocaleString())
@@ -3671,6 +3678,10 @@
      tinyMCE.triggerSave();
    }
    if (this.env.draft_id) {
      formdata.draft_id = this.env.draft_id;
    }
    $('input, select, textarea', this.gui_objects.messageform).each(function(i, elem){
      switch (elem.tagName.toLowerCase()) {
        case 'input':
program/steps/mail/compose.inc
@@ -240,6 +240,9 @@
      $COMPOSE['reply_msgid'] = '<' . $in_reply_to . '>';
    $COMPOSE['references'] = $MESSAGE->headers->references;
    // use message-ID as draft_id, same as in sendmail.inc
    $OUTPUT->set_env('draft_id', trim($MESSAGE->headers->get('message-id'), '<>'));
  }
}
else {