diff options
| author | Pierre Paridans <app@odoo.com> | 2020-03-18 17:18:44 +0000 |
|---|---|---|
| committer | Pierre Paridans <app@odoo.com> | 2020-03-19 09:38:07 +0000 |
| commit | eb724d9add2c2752c7f9ded245aae7ba6bb2aca5 (patch) | |
| tree | c188cdce1d09684980b2ed5be883f98b6b3a7ecb /addons/web/static/src/js/views/basic/basic_renderer.js | |
| parent | fe376d50d0c6da332a5ea2540c95583931dd2203 (diff) | |
[FIX] mail: correctly parse datetime returned from server
When a user is Out-of-Office, the return date is displayed as "Invalid
date" on Safari (both iOS & macOS).
The parsing of the date returned by the server was done using the Date
constructor and passing the string as-is. This constructor delegates the
parsing to the `Date.parse` method. But the DateTime format used to
stringify dates in Odoo doesn't fully follow the ISO 8601, as required
by `Date.parse()`:
expected format: "YYYY-MM-DDTHH:mm:ss.sssZ"
actual format: "YYYY-MM-DD HH:mm:ss"
Also, Safari applies more strictly to this requirement than Chrome &
Firefox, resulting in a parsing error in the former browser.
This commit fixes it by using the utility function `str_to_datetime`
from `web.time` to correctly parse this date, independently of the
browser used.
NB: as this issue is browser dependent, no test has been added.
References:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/Date
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/parse
https://tc39.es/ecma262/#sec-date-time-string-format
Task ID: 2198486
closes odoo/odoo#47987
X-original-commit: b85a44aea9617b9018dd80d5f8159354bbc88f09
Signed-off-by: Adrien Dieudonné (adr) <adr@odoo.com>
Diffstat (limited to 'addons/web/static/src/js/views/basic/basic_renderer.js')
0 files changed, 0 insertions, 0 deletions
