diff options
| author | Nasreddin (bon) <bon@odoo.com> | 2020-12-28 13:58:30 +0000 |
|---|---|---|
| committer | Nasreddin (bon) <bon@odoo.com> | 2020-12-30 15:54:00 +0000 |
| commit | c11e0fe2673fd18e6db45fd18a153042d525990a (patch) | |
| tree | 943e447372b251f1070a326e8edbcb347084d6e5 /addons/web/static/src/js/views/calendar | |
| parent | caaef5829b51f7e5862a6d730ea978e19deadd42 (diff) | |
[FIX] web: calendar_controller: Adapt date to server format on update
Issue
- Install "Time-Off" module
- Set user language to "Arabic"
- Open "Time-Off"
Traceback raised.
Cause
On update, JS send to backend date in arabic.
Python 'datetime' library does not manage arabic date.
Solution
Convert date format for the "server" on js-side.
In this case, it will also translate arabic numbers.
Also, adapt "dateToServer" to handle any format.
opw-2421268
closes odoo/odoo#63833
Signed-off-by: Nicolas Lempereur (nle) <nle@odoo.com>
Diffstat (limited to 'addons/web/static/src/js/views/calendar')
| -rw-r--r-- | addons/web/static/src/js/views/calendar/calendar_controller.js | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/addons/web/static/src/js/views/calendar/calendar_controller.js b/addons/web/static/src/js/views/calendar/calendar_controller.js index 2bca351a9a5..0ab74b3489f 100644 --- a/addons/web/static/src/js/views/calendar/calendar_controller.js +++ b/addons/web/static/src/js/views/calendar/calendar_controller.js @@ -18,8 +18,12 @@ var QuickCreate = require('web.CalendarQuickCreate'); var _t = core._t; var QWeb = core.qweb; -function dateToServer (date) { - return date.clone().utc().locale('en').format('YYYY-MM-DD HH:mm:ss'); +function dateToServer (date, fieldType) { + date = date.clone().locale('en'); + if (fieldType === "date") { + return date.local().format('YYYY-MM-DD'); + } + return date.utc().format('YYYY-MM-DD HH:mm:ss'); } var CalendarController = AbstractController.extend({ @@ -151,7 +155,7 @@ var CalendarController = AbstractController.extend({ self._rpc({ model: self.modelName, method: 'get_unusual_days', - args: [self.model.data.start_date.format('YYYY-MM-DD'), self.model.data.end_date.format('YYYY-MM-DD')], + args: [dateToServer(self.model.data.start_date, 'date'), dateToServer(self.model.data.end_date, 'date')], context: self.context, }).then(function (data) { _.each(self.$el.find('td.fc-day'), function (td) { |
