From 43aa32f0ec9547178e706533aac26db4bb1e82b2 Mon Sep 17 00:00:00 2001 From: Jared Esparza Date: Wed, 17 May 2023 14:37:24 +0200 Subject: [PATCH] Update on_change depends addition using field.depends decorator | #157053 --- __init__.py | 5 +++++ analytic_sale.py | 14 ++++++++++++++ sale.py | 7 ------- tests/test_module.py | 2 +- 4 files changed, 20 insertions(+), 8 deletions(-) create mode 100644 analytic_sale.py diff --git a/__init__.py b/__init__.py index 0f27b51..a570507 100644 --- a/__init__.py +++ b/__init__.py @@ -2,6 +2,7 @@ # copyright notices and license terms. from trytond.pool import Pool from . import sale +from . import analytic_sale def register(): Pool.register( @@ -9,3 +10,7 @@ def register(): sale.Sale, sale.SaleLine, module='sale_farm', type_='model') + + Pool.register( + analytic_sale.SaleLine, + module='sale_farm', type_='model', depends=['analytic_sale']) \ No newline at end of file diff --git a/analytic_sale.py b/analytic_sale.py new file mode 100644 index 0000000..b7ac9fc --- /dev/null +++ b/analytic_sale.py @@ -0,0 +1,14 @@ + +from trytond.model import fields +from trytond.pool import PoolMeta + +class SaleLine(metaclass=PoolMeta): + __name__ = 'sale.line' + + @fields.depends('analytic_accounts') + def on_change_animal(self): + super().on_change_animal() + + @fields.depends('analytic_accounts') + def on_change_animal_location(self): + super().on_change_animal_location() \ No newline at end of file diff --git a/sale.py b/sale.py index af712a5..76c6ad4 100644 --- a/sale.py +++ b/sale.py @@ -131,13 +131,6 @@ class SaleLine(metaclass=PoolMeta): move_events = fields.One2Many('farm.move.event', 'origin', "Animal's Moves", readonly=True) - @classmethod - def __setup__(cls): - super(SaleLine, cls).__setup__() - if hasattr(cls, 'analytic_accounts'): - cls.animal.on_change.add('analytic_accounts') - cls.animal_location.on_change.add('analytic_accounts') - @classmethod def get_animal_models(cls): IrModel = Pool().get('ir.model') diff --git a/tests/test_module.py b/tests/test_module.py index 0f8ece3..c9b6eb7 100644 --- a/tests/test_module.py +++ b/tests/test_module.py @@ -9,6 +9,6 @@ from trytond.tests.test_tryton import ModuleTestCase class SaleFarmTestCase(CompanyTestMixin, ModuleTestCase): 'Test SaleFarm module' module = 'sale_farm' - + extras = ['analytic_sale'] del ModuleTestCase