summaryrefslogtreecommitdiff
path: root/addons/web/static/src/js/views
diff options
context:
space:
mode:
authorNasreddin (bon) <bon@odoo.com>2020-12-28 13:58:30 +0000
committerNasreddin (bon) <bon@odoo.com>2020-12-30 15:54:00 +0000
commitc11e0fe2673fd18e6db45fd18a153042d525990a (patch)
tree943e447372b251f1070a326e8edbcb347084d6e5 /addons/web/static/src/js/views
parentcaaef5829b51f7e5862a6d730ea978e19deadd42 (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')
-rw-r--r--addons/web/static/src/js/views/calendar/calendar_controller.js10
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) {