From 1c4c64fe0142f692a0071fe76f5751d415ac15dc Mon Sep 17 00:00:00 2001 From: Raphael Collet Date: Fri, 4 Sep 2015 16:43:09 +0200 Subject: [PATCH] [FIX] fields: add support for date/datetime null values in field methods --- openerp/fields.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/openerp/fields.py b/openerp/fields.py index 9c6187894ce..e8ea78cb6af 100644 --- a/openerp/fields.py +++ b/openerp/fields.py @@ -1202,13 +1202,15 @@ class Date(Field): @staticmethod def from_string(value): """ Convert an ORM ``value`` into a :class:`date` value. """ + if not value: + return None value = value[:DATE_LENGTH] return datetime.strptime(value, DATE_FORMAT).date() @staticmethod def to_string(value): """ Convert a :class:`date` value into the format expected by the ORM. """ - return value.strftime(DATE_FORMAT) + return value.strftime(DATE_FORMAT) if value else False def convert_to_cache(self, value, record, validate=True): if not value: @@ -1266,6 +1268,8 @@ class Datetime(Field): @staticmethod def from_string(value): """ Convert an ORM ``value`` into a :class:`datetime` value. """ + if not value: + return None value = value[:DATETIME_LENGTH] if len(value) == DATE_LENGTH: value += " 00:00:00" @@ -1274,7 +1278,7 @@ class Datetime(Field): @staticmethod def to_string(value): """ Convert a :class:`datetime` value into the format expected by the ORM. """ - return value.strftime(DATETIME_FORMAT) + return value.strftime(DATETIME_FORMAT) if value else False def convert_to_cache(self, value, record, validate=True): if not value: