[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:
@@ -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({
|
||||
|
||||
Reference in New Issue
Block a user