From 4a612171b3bf85f2902c582fcc658eea668a732e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=A9ry=20Debongnie?= Date: Fri, 24 Feb 2017 14:03:58 +0100 Subject: [FIX] web: basic model now parse dates on lists Before this commit, the BasicModel didn't parse the dates when loading data for a list. But the rest of the web client assumes that data is properly parsed into their correct types, so a moment instance for date and datetime. Also, uppercase field_utils and properly reorder imports --- addons/web/static/src/js/views/basic/basic_model.js | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) (limited to 'addons/web/static/src/js/views/basic/basic_model.js') diff --git a/addons/web/static/src/js/views/basic/basic_model.js b/addons/web/static/src/js/views/basic/basic_model.js index 15921f4332e..9d8df720436 100644 --- a/addons/web/static/src/js/views/basic/basic_model.js +++ b/addons/web/static/src/js/views/basic/basic_model.js @@ -80,9 +80,9 @@ var AbstractModel = require('web.AbstractModel'); var concurrency = require('web.concurrency'); var Context = require('web.Context'); var data = require('web.data'); // TODO: remove dependency to data.js +var fieldUtils = require('web.field_utils'); var pyeval = require('web.pyeval'); var session = require('web.session'); -var field_utils = require('web.field_utils'); var x2ManyCommands = { // (0, _, {values}) @@ -537,10 +537,10 @@ var BasicModel = AbstractModel.extend({ }); } else if (field.type === 'date') { // process date: convert into Date object - record._changes[name] = field_utils.parse_date(result[name]); + record._changes[name] = fieldUtils.parse_date(result[name]); } else if (field.type === 'datetime') { // process datetime: convert into Date object - record._changes[name] = field_utils.parse_datetime(result[name]); + record._changes[name] = fieldUtils.parse_datetime(result[name]); } else { record._changes[name] = result[name]; } @@ -1278,10 +1278,10 @@ var BasicModel = AbstractModel.extend({ } } else if (field.type === 'date') { // process data: convert into Date object - record.data[name] = field_utils.parse_date(val); + record.data[name] = fieldUtils.parse_date(val); } else if (field.type === 'datetime') { // process datetime: convert into Date object - record.data[name] = field_utils.parse_datetime(val); + record.data[name] = fieldUtils.parse_datetime(val); } }); }).then(function () { @@ -1926,6 +1926,12 @@ var BasicModel = AbstractModel.extend({ dataPoint.data[name] = r.id; } + if (field.type === 'date') { + dataPoint.data[name] = fieldUtils.parse_date(dataPoint.data[name]); + } + if (field.type === 'datetime') { + dataPoint.data[name] = fieldUtils.parse_datetime(dataPoint.data[name]); + } }); return dataPoint.id; }); -- cgit v1.2.3