diff options
Diffstat (limited to 'addons/mail/static/src/models/message/message.js')
| -rw-r--r-- | addons/mail/static/src/models/message/message.js | 29 |
1 files changed, 28 insertions, 1 deletions
diff --git a/addons/mail/static/src/models/message/message.js b/addons/mail/static/src/models/message/message.js index 6ca7cf4a5bd..c3318aa8906 100644 --- a/addons/mail/static/src/models/message/message.js +++ b/addons/mail/static/src/models/message/message.js @@ -4,7 +4,8 @@ odoo.define('mail/static/src/models/message/message.js', function (require) { const emojis = require('mail.emojis'); const { registerNewModel } = require('mail/static/src/model/model_core.js'); const { attr, many2many, many2one, one2many } = require('mail/static/src/model/model_field.js'); -const { addLink, htmlToTextContentInline, parseAndTransform } = require('mail.utils'); +const { clear } = require('mail/static/src/model/model_field_command.js'); +const { addLink, htmlToTextContentInline, parseAndTransform, timeFromNow } = require('mail.utils'); const { str_to_datetime } = require('web.time'); @@ -315,6 +316,13 @@ function factory(dependencies) { } /** + * Refreshes the value of `dateFromNow` field to the "current now". + */ + refreshDateFromNow() { + this.update({ dateFromNow: this._computeDateFromNow() }); + } + + /** * Action to initiate reply to current message in Discuss Inbox. Assumes * that Discuss and Inbox are already opened. */ @@ -361,6 +369,16 @@ function factory(dependencies) { } /** + * @returns {string} + */ + _computeDateFromNow() { + if (!this.date) { + return clear(); + } + return timeFromNow(this.date); + } + + /** * @returns {boolean} */ _computeFailureNotifications() { @@ -516,6 +534,15 @@ function factory(dependencies) { date: attr({ default: moment(), }), + /** + * States the time elapsed since date up to now. + */ + dateFromNow: attr({ + compute: '_computeDateFromNow', + dependencies: [ + 'date', + ], + }), email_from: attr(), failureNotifications: one2many('mail.notification', { compute: '_computeFailureNotifications', |
