From 74218643b11a4200a65d147a88245f8ddf5e6eec Mon Sep 17 00:00:00 2001 From: "Laurent Mignon (ACSONE)" Date: Thu, 31 Oct 2019 15:46:33 +0100 Subject: [PATCH] [FIX] base_jsonify: Add tz info into serialized datetime --- base_jsonify/models/models.py | 8 +++++++- base_jsonify/tests/test_get_parser.py | 9 +++++++-- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/base_jsonify/models/models.py b/base_jsonify/models/models.py index ad1abf803..6cc2c3bd6 100644 --- a/base_jsonify/models/models.py +++ b/base_jsonify/models/models.py @@ -3,6 +3,8 @@ # Raphaƫl Reverdy # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). +import pytz + from odoo import api, fields, models from odoo.exceptions import UserError from odoo.tools.translate import _ @@ -74,7 +76,11 @@ class Base(models.AbstractModel): elif field_type == "date": value = fields.Date.to_date(value).isoformat() elif field_type == "datetime": - value = fields.Datetime.to_datetime(value).isoformat() + value = ( + fields.Datetime.to_datetime(value) + .replace(tzinfo=pytz.utc) + .isoformat() + ) res[json_key] = value result.append(res) return result diff --git a/base_jsonify/tests/test_get_parser.py b/base_jsonify/tests/test_get_parser.py index fc08952bd..fe4198acc 100644 --- a/base_jsonify/tests/test_get_parser.py +++ b/base_jsonify/tests/test_get_parser.py @@ -72,6 +72,11 @@ class TestParser(TransactionCase): ], 'date': fields.Date.from_string("2019-10-31") }) + self.env.cr.execute( + "update res_partner set create_date=%s where id=%s", + ("2019-10-31 14:39:49", partner.id), + ) + partner.refresh() expected_json = { 'lang': 'en_US', 'comment': None, @@ -96,8 +101,8 @@ class TestParser(TransactionCase): 'name': 'Sebatien Beau', 'email': None }], - 'create_date': partner.create_date.isoformat(), - 'date': "2019-10-31" + "create_date": "2019-10-31T14:39:49+00:00", + "date": "2019-10-31", } json_partner = partner.jsonify(parser)