diff --git a/currency.py b/currency.py index b991f795af..bd080abe9a 100644 --- a/currency.py +++ b/currency.py @@ -47,7 +47,7 @@ class Currency( rates = fields.One2Many('currency.currency.rate', 'currency', 'Rates', help="Add floating exchange rates for the currency.") rounding = fields.Numeric('Rounding factor', required=True, - digits=(12, Eval('digits', 6)), depends=['digits'], + digits=(12, Eval('digits', 6)), help="The minimum amount which can be represented in this currency.") digits = fields.Integer("Digits", required=True, help="The number of digits to display after the decimal separator.") @@ -312,8 +312,7 @@ class Cron(ModelSQL, ModelView): states={ 'required': Eval('frequency') == 'weekly', 'invisible': Eval('frequency') != 'weekly', - }, - depends=['frequency']) + }) day = fields.Integer( "Day of Month", domain=[If(Eval('frequency') == 'monthly', @@ -323,8 +322,7 @@ class Cron(ModelSQL, ModelView): states={ 'required': Eval('frequency') == 'monthly', 'invisible': Eval('frequency') != 'monthly', - }, - depends=['frequency']) + }) currency = fields.Many2One( 'currency.currency', "Currency", required=True, help="The base currency to fetch rate.") diff --git a/fields.py b/fields.py index 2922abaefb..b3bf9dfbe3 100644 --- a/fields.py +++ b/fields.py @@ -19,10 +19,10 @@ class Monetary(fields.Numeric): ''' if currency: if depends is None: - depends = [currency] - elif currency not in depends: - depends = depends.copy() - depends.append(currency) + depends = set() + else: + depends = set(depends) + depends.add(currency) super().__init__(string=string, digits=digits, help=help, required=required, readonly=readonly, domain=domain, states=states, select=select, on_change=on_change, on_change_with=on_change_with,