From 6f223edf4f57b44b65f02b4711c362fa0ce44a7d Mon Sep 17 00:00:00 2001 From: Jeremy Kersten <jke@odoo.com> Date: Thu, 9 Jun 2016 10:45:01 +0200 Subject: [PATCH] [FIX] mail: display date and datetime in tracking value with the right timzeone. When tracking value is converted to be rendered as a message_post, we convert the date/datetime with the current local from momentjs. Related to #12327 Courtesy of @aab-odoo for help and review. --- addons/mail/models/mail_message.py | 1 + addons/mail/static/src/js/thread.js | 14 ++++++++++++++ addons/mail/static/src/xml/thread.xml | 4 ++-- 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/addons/mail/models/mail_message.py b/addons/mail/models/mail_message.py index f86ba64ce7e2..3ef015669166 100644 --- a/addons/mail/models/mail_message.py +++ b/addons/mail/models/mail_message.py @@ -299,6 +299,7 @@ class Message(models.Model): 'changed_field': tracking.field_desc, 'old_value': tracking.get_old_display_value()[0], 'new_value': tracking.get_new_display_value()[0], + 'field_type': tracking.field_type, }) for tracking in trackings) # 4. Update message dictionaries diff --git a/addons/mail/static/src/js/thread.js b/addons/mail/static/src/js/thread.js index ac4c50b4533a..f0d5ae053399 100644 --- a/addons/mail/static/src/js/thread.js +++ b/addons/mail/static/src/js/thread.js @@ -151,6 +151,20 @@ var Thread = Widget.extend({ msg.hour = msg.date.format('LT'); } + if (message.tracking_value_ids && message.tracking_value_ids.length) { + _.each(message.tracking_value_ids, function(f) { + if (_.contains(['date', 'datetime'], f.field_type)) { + var format = (f.field_type === 'date') ? 'LL' : 'LLL'; + if (f.old_value) { + f.old_value = moment.utc(f.old_value).local().format(format); + } + if (f.new_value) { + f.new_value = moment.utc(f.new_value).local().format(format); + } + } + }); + } + if (_.contains(this.expanded_msg_ids, message.id)) { msg.expanded = true; } diff --git a/addons/mail/static/src/xml/thread.xml b/addons/mail/static/src/xml/thread.xml index 5c0c958bb695..3d622c1927d8 100644 --- a/addons/mail/static/src/xml/thread.xml +++ b/addons/mail/static/src/xml/thread.xml @@ -150,10 +150,10 @@ <li> <t t-esc="value.changed_field"/>: <t t-if="value.old_value"> - <span> <t t-esc="value.old_value"/> </span> + <span> <t t-esc="value.old_value || ((value.field_type !== 'boolean') and '')"/> </span> <span class="fa fa-long-arrow-right"/> </t> - <span> <t t-esc="value.new_value"/> </span> + <span> <t t-esc="value.new_value || ((value.field_type !== 'boolean') and '')"/> </span> </li> </t> </ul> -- GitLab