[FIX] orm, fields: read_group on monetary fields now correctly makes the sum instead of ignoring them

This commit is contained in:
qdp-odoo
2015-09-24 10:33:34 +02:00
parent 954d9de6e1
commit bacd60dc1d
2 changed files with 7 additions and 2 deletions
+6 -1
View File
@@ -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:
+1 -1
View File
@@ -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)
]