[FIX] web: send date string in server compatible format

Languages like Arabic (ar_SY), Hindi(hi_IN) do not use english digits to describe dates, and moment.js format function will keep these characters.  So, the server will get date strings, and will be unable to use them.

To see the problem, just type moment().locale('ar_SY').format('YYYY-MM-DD') into a browser console.

In this commit, we simply force the locale to 'en' before sending data to the server.

PR #17156
This commit is contained in:
Harshad Modi
2017-05-23 10:34:08 +02:00
committed by ged-odoo
parent 12bf5bb926
commit 109b319d64
2 changed files with 3 additions and 3 deletions
@@ -347,7 +347,7 @@ function parseDate(value, field, options) {
}
if (date.year() >= 1900) {
date.toJSON = function () {
return this.format('YYYY-MM-DD');
return this.clone().locale('en').format('YYYY-MM-DD');
};
return date;
}
@@ -394,7 +394,7 @@ function parseDateTime(value, field, options) {
}
if (datetime.year() >= 1900) {
datetime.toJSON = function () {
return this.format('YYYY-MM-DD HH:mm:ss');
return this.clone().locale('en').format('YYYY-MM-DD HH:mm:ss');
};
return datetime;
}
@@ -16,7 +16,7 @@ var scales = [
];
function dateToServer (date) {
return date.clone().utc().format('YYYY-MM-DD HH:mm:ss');
return date.clone().utc().locale('en').format('YYYY-MM-DD HH:mm:ss');
}
return AbstractModel.extend({