summaryrefslogtreecommitdiff
path: root/setup/package.dfdebian
diff options
context:
space:
mode:
authorNicolas Martinelli <nim@odoo.com>2019-01-25 08:56:53 +0000
committerNicolas Martinelli <nim@odoo.com>2019-01-29 13:26:22 +0000
commit1dbe4ea0d7f63d299b48edd6e55accb15a3632d2 (patch)
treede4744a81ad6bbe9723f6ecab4d6aeff5efe1139 /setup/package.dfdebian
parent7e0603785bae59be9a829a247903f8c9806648e3 (diff)
[FIX] web: current date
- Set the OS in a timezone such as the current day is different from the day in UTC (e.g. America/Nome before 10:00 AM or Australia/Melbourne after 3:00 PM) - Open any datepicker - The 'little triangle' indicating the current day is wrongly set (one day before or after) Knowing that Odoo always creates momentjs date and datetime with the `UTC` flag set to `true`, the `bootstrap-datetimepicker` does something which seems inconsistent. First, it retrieves the `viewDate`, and sets it to the beginning of the month and week in: https://github.com/odoo/odoo/blob/1c6c504215f3ef09e6336c92c9d350e87599eaa1/addons/web/static/lib/bootstrap-datetimepicker/src/js/bootstrap-datetimepicker.js#L725 In this part, it is important to note that each `startOf` functions called sets the hours/minutes/seconds to zero. It means that the reference time is changed. Then, it iterates on this newly created date, and determines `today` by comparing it to `getMoment()` in: https://github.com/odoo/odoo/blob/1c6c504215f3ef09e6336c92c9d350e87599eaa1/addons/web/static/lib/bootstrap-datetimepicker/src/js/bootstrap-datetimepicker.js#L748 However, `getMoment()` returns the current date and time, but with the `UTC` flag set to `false`. Therefore, we compare a UTC datetime on which the reference time has been changed to a non-UTC datetime, which fails to give the appropriate current day. There are two approaches to solve this. The first possibility is to change the way Odoo defines momentjs dates and datetimes, maybe by removing the `UTC` flag at creation. This sounds like a bad idea, since other widgets or views (such as the calendar or the pivot view) make use of them. This is likely to introduce a bunch of new issues with TZ in these views. The second approach is patching the library to fit our use. Although we usually don't do such a thing, this allows to specifically solve this use case, and in particular placing the 'small triangle' at the appropriate date without impacting any other part of the system or the library. It can be easily performed by comparing the dates and the months to make it work. opw-1915251 closes odoo/odoo#30538
Diffstat (limited to 'setup/package.dfdebian')
0 files changed, 0 insertions, 0 deletions