diff --git a/base_jsonify/models/models.py b/base_jsonify/models/models.py index f05513044..14e00e103 100644 --- a/base_jsonify/models/models.py +++ b/base_jsonify/models/models.py @@ -3,7 +3,7 @@ # Raphaƫl Reverdy # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). -from odoo import api, models +from odoo import api, fields, models from odoo.exceptions import UserError from odoo.tools.translate import _ @@ -71,6 +71,10 @@ class Base(models.AbstractModel): value = rec[field_name] if value is False and field_type != 'boolean': value = None + elif field_type == "date": + value = fields.Date.to_string(value) + elif field_type == "datetime": + value = fields.Datetime.to_string(value) 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 97b1c4503..5aea2d55f 100644 --- a/base_jsonify/tests/test_get_parser.py +++ b/base_jsonify/tests/test_get_parser.py @@ -1,6 +1,7 @@ # Copyright 2017 ACSONE SA/NV # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). +from odoo import fields from odoo.tests.common import TransactionCase @@ -54,7 +55,9 @@ class TestParser(TransactionCase): ]), ('country_id:country', ['code', 'name']), 'active', - ('category_id', ['name']) + ('category_id', ['name']), + 'create_date', + 'date', ] partner = self.env['res.partner'].create({ 'name': 'Akretion', @@ -67,6 +70,7 @@ class TestParser(TransactionCase): 'country_id': self.env.ref('base.fr').id }) ], + 'date': fields.Date.today() }) expected_json = { 'lang': 'en_US', @@ -91,7 +95,9 @@ class TestParser(TransactionCase): 'children': [], 'name': 'Sebatien Beau', 'email': None - }] + }], + 'create_date': fields.Datetime.to_string(partner.create_date), + 'date': fields.Date.to_string(partner.date) } json_partner = partner.jsonify(parser)