From 767e1cf8d26902cb18dd9946799014af55360d1d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Fri, 23 Aug 2024 01:17:21 +0200 Subject: [PATCH] Simplify domains and states of commission to use Function fields instead of _parent --- modules/commission/invoice.py | 9 +++------ modules/commission/sale.py | 2 +- 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/modules/commission/invoice.py b/modules/commission/invoice.py index f62193a710..78cdeaaacb 100644 --- a/modules/commission/invoice.py +++ b/modules/commission/invoice.py @@ -6,7 +6,7 @@ from itertools import groupby from trytond.model import ModelView, Workflow, fields from trytond.modules.product import round_price from trytond.pool import Pool, PoolMeta -from trytond.pyson import Bool, Eval, If +from trytond.pyson import Eval from trytond.tools import grouped_slice from trytond.transaction import Transaction @@ -130,13 +130,10 @@ class InvoiceLine(metaclass=PoolMeta): principal = fields.Many2One('commission.agent', 'Commission Principal', domain=[ ('type_', '=', 'principal'), - ('company', '=', Eval('_parent_invoice', {}).get('company', - Eval('company', -1))), + ('company', '=', Eval('company', -1)), ], states={ - 'invisible': If(Bool(Eval('_parent_invoice')), - Eval('_parent_invoice', {}).get('type') == 'in', - Eval('invoice_type') == 'in'), + 'invisible': Eval('invoice_type') == 'in', 'readonly': Eval('invoice_state') != 'draft', }, help="The principal who pays a commission for the invoice line.") diff --git a/modules/commission/sale.py b/modules/commission/sale.py index 150105199b..45ed278bb8 100644 --- a/modules/commission/sale.py +++ b/modules/commission/sale.py @@ -78,7 +78,7 @@ class Line(metaclass=PoolMeta): principal = fields.Many2One('commission.agent', 'Commission Principal', domain=[ ('type_', '=', 'principal'), - ('company', '=', Eval('_parent_sale', {}).get('company', -1)), + ('company', '=', Eval('company', -1)), ], depends={'sale'}, help="The principal who pays a commission for the line.")