diff --git a/openerp/fields.py b/openerp/fields.py index 5e92f1a67e7..1ea981b5b60 100644 --- a/openerp/fields.py +++ b/openerp/fields.py @@ -742,7 +742,7 @@ class Field(object): return value return bool(value) and ustr(value) - def convert_to_display_name(self, value): + def convert_to_display_name(self, value, record=None): """ convert `value` from the cache to a suitable display name. """ return ustr(value) @@ -1221,6 +1221,10 @@ class Datetime(Field): return self.from_string(value) return bool(value) and ustr(value) + def convert_to_display_name(self, value, record=None): + assert record, 'Record expected' + return Datetime.to_string(Datetime.context_timestamp(record, Datetime.from_string(value))) + class Binary(Field): type = 'binary' @@ -1363,7 +1367,7 @@ class Reference(Selection): def convert_to_export(self, value, env): return bool(value) and value.name_get()[0][1] - def convert_to_display_name(self, value): + def convert_to_display_name(self, value, record=None): return ustr(value and value.display_name) @@ -1495,7 +1499,7 @@ class Many2one(_Relational): def convert_to_export(self, value, env): return bool(value) and value.name_get()[0][1] - def convert_to_display_name(self, value): + def convert_to_display_name(self, value, record=None): return ustr(value.display_name) @@ -1602,7 +1606,7 @@ class _RelationalMulti(_Relational): def convert_to_export(self, value, env): return bool(value) and ','.join(name for id, name in value.name_get()) - def convert_to_display_name(self, value): + def convert_to_display_name(self, value, record=None): raise NotImplementedError() def _compute_related(self, records): diff --git a/openerp/models.py b/openerp/models.py index aed6b26b037..e2b05b02458 100644 --- a/openerp/models.py +++ b/openerp/models.py @@ -1677,7 +1677,7 @@ class BaseModel(object): if name in self._fields: convert = self._fields[name].convert_to_display_name for record in self: - result.append((record.id, convert(record[name]))) + result.append((record.id, convert(record[name], record))) else: for record in self: result.append((record.id, "%s,%s" % (record._name, record.id)))