0f4972443671cd13de1a48dc2cd97b6969cb92ee
The goal is to improve the dates utility functions (parse/format) by removing the timezone option, which is difficult to understand and has proven to be error prone. - Rationale When manipulating DateTime objects on the JS side, associated timezones must be always coherent. Until now, there were several code parts that had to check the DateTime timezone and handle things differently in a case or another. This sometimes lead to wrong code. E.g. there was a bug in the DatePicker component because the DateTime object it receives in props is in local timezone, but once it updates it through the parse utility, the new object is in UTC. - After this commit The DateTime objects you'll get through deserialization or parsing are always set in the user's local timezone. The formatted strings you'll get through formatDate and formatDateTime utils will always be expressed in the user's local timezone. The formatted strings you'll get through serialization utils will always be expressed in UTC. - serializeDate and serializeDateTime - expected input: a DateTime object (its timezone does not matter) - outputs: a string formatted for the server expressed in UTC - formatDate and formatDateTime - expected input: a DateTime object (its timezone does not matter) - outputs: a string formatted for the user, expressed in the user's TZ - deserializeDate and deserializeDateTime - expected input: a date(time) string provided by the server, in UTC - outputs: a DateTime object in user's TZ - parseDate and parseDateTime - expected input: a date(time) string provided by the user, in its TZ - outputs: a DateTime object in user's TZ - Other changes in this commit As the timezone option has been removed from parsing/formatting utils, all their usage had been adapted in the codebase. The large diff in dates_tests.js is because some tests were reorganized, others were removed/adapted/joined. A test has been removed from daterange_field_tests.js, because it has no sense: it displays a date field as a datetime, but a date field does not have any time information. Part-of: odoo/odoo#98980 Co-authored-by: Julien Mougenot <jum@odoo.com>
…
…
…
…
Odoo
Odoo is a suite of web based open source business apps.
The main Odoo Apps include an Open Source CRM, Website Builder, eCommerce, Warehouse Management, Project Management, Billing & Accounting, Point of Sale, Human Resources, Marketing, Manufacturing, ...
Odoo Apps can be used as stand-alone applications, but they also integrate seamlessly so you get a full-featured Open Source ERP when you install several Apps.
Getting started with Odoo
For a standard installation please follow the Setup instructions from the documentation.
To learn the software, we recommend the Odoo eLearning, or Scale-up, the business game. Developers can start with the developer tutorials
Languages
Python
49.6%
JavaScript
47.8%
SCSS
2%
CSS
0.3%
HTML
0.2%