diff options
| author | Christophe Simonis <chs@odoo.com> | 2018-11-16 19:30:20 +0100 |
|---|---|---|
| committer | Christophe Simonis <chs@odoo.com> | 2018-11-16 19:30:20 +0100 |
| commit | 6faad524cf5e4db02855cb213277c40aee14c42a (patch) | |
| tree | 383c984dc1461a03481baa9fbdce8c156ca97e2e /odoo/fields.py | |
| parent | 3657dc77c2ddb4275f07d1271b93e7f25e09913a (diff) | |
| parent | bc744a1da46efda6f1eb5c341f2fa5df30c9c7ad (diff) | |
[MERGE] forward port branch 12.0 up to bc744a1da46
Diffstat (limited to 'odoo/fields.py')
| -rw-r--r-- | odoo/fields.py | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/odoo/fields.py b/odoo/fields.py index 6d89f9355ec..d877cd71f87 100644 --- a/odoo/fields.py +++ b/odoo/fields.py @@ -1276,11 +1276,9 @@ class Monetary(Field): def __init__(self, string=Default, currency_field=Default, **kwargs): super(Monetary, self).__init__(string=string, currency_field=currency_field, **kwargs) - _related_currency_field = property(attrgetter('currency_field')) _description_currency_field = property(attrgetter('currency_field')) - def _setup_regular_full(self, model): - super(Monetary, self)._setup_regular_full(model) + def _setup_currency_field(self, model): if not self.currency_field: # pick a default, trying in order: 'currency_id', 'x_currency_id' if 'currency_id' in model._fields: @@ -1290,6 +1288,16 @@ class Monetary(Field): assert self.currency_field in model._fields, \ "Field %s with unknown currency_field %r" % (self, self.currency_field) + def _setup_regular_full(self, model): + super(Monetary, self)._setup_regular_full(model) + self._setup_currency_field(model) + + def _setup_related_full(self, model): + super(Monetary, self)._setup_related_full(model) + if self.inherited: + self.currency_field = self.related_field.currency_field + self._setup_currency_field(model) + def convert_to_column(self, value, record, values=None, validate=True): # retrieve currency from values or record if values and self.currency_field in values: |
