diff --git a/openerp/fields.py b/openerp/fields.py index 1cb82c47956398442c762aaa9039b0dc6a1e5c1c..66cc64f7349f311a6317f2b14b39bf67d82ade9f 100644 --- a/openerp/fields.py +++ b/openerp/fields.py @@ -1098,15 +1098,20 @@ class Monetary(Field): type = 'monetary' _slots = { 'currency_field': None, + 'group_operator': None, # operator for aggregating values } def __init__(self, string=None, currency_field=None, **kwargs): super(Monetary, self).__init__(string=string, currency_field=currency_field, **kwargs) - _column_currency_field = property(attrgetter('currency_field')) _related_currency_field = property(attrgetter('currency_field')) + _related_group_operator = property(attrgetter('group_operator')) + _description_currency_field = property(attrgetter('currency_field')) + _column_currency_field = property(attrgetter('currency_field')) + _column_group_operator = property(attrgetter('group_operator')) + def _setup_regular_base(self, model): super(Monetary, self)._setup_regular_base(model) if not self.currency_field: diff --git a/openerp/models.py b/openerp/models.py index a1a50e55460c673ed2fbe70d1450ad411fbebdbf..0d04c0fd52de29f5506937ca5afe9633f59e7f5e 100644 --- a/openerp/models.py +++ b/openerp/models.py @@ -2069,7 +2069,7 @@ class BaseModel(object): if f not in ('id', 'sequence') if f not in groupby_fields if f in self._fields - if self._fields[f].type in ('integer', 'float') + if self._fields[f].type in ('integer', 'float', 'monetary') if getattr(self._fields[f].base_field.column, '_classic_write', False) ]