From d06db2a817ffabf1184e29f14fc6ab685c3b5b39 Mon Sep 17 00:00:00 2001 From: mohammed-alkhazrji Date: Mon, 10 Nov 2025 13:02:36 +0300 Subject: [PATCH] farward --- .../wizard/forward_trasaction.py | 28 ++++++++++++++----- 1 file changed, 21 insertions(+), 7 deletions(-) diff --git a/odex25_transactions/exp_transaction_documents/wizard/forward_trasaction.py b/odex25_transactions/exp_transaction_documents/wizard/forward_trasaction.py index 028aa4e38..0b36e40a6 100644 --- a/odex25_transactions/exp_transaction_documents/wizard/forward_trasaction.py +++ b/odex25_transactions/exp_transaction_documents/wizard/forward_trasaction.py @@ -24,19 +24,33 @@ class ForwardTransactionWizard(models.TransientModel): filename = fields.Char() att_description = fields.Char(string='Attach Description') + @api.onchange('employee', 'forward_type') + def _onchange_employee_set_internal_unit(self): + for rec in self: + if rec.forward_type == 'employee' and rec.employee and not rec.internal_unit: + rec.internal_unit = rec.employee.parent_id + + if rec.forward_type == 'unit' and rec.employee: + rec.employee = False @api.onchange('internal_unit', 'forward_type') def _get_valid_employee_ids(self): for rec in self: domain = [] if rec.forward_type == 'employee' and rec.internal_unit: - domain = [('id', 'in', rec.env['cm.entity'].search([('type', '=', 'employee'), ('parent_id', '=', rec.internal_unit.id)]).ids)] - rec.employee = False - return { - "domain": { - "employee": domain - } - } + domain = [ + ('type', '=', 'employee'), + ('parent_id', '=', rec.internal_unit.id), + ] + + if rec.employee: + if rec.forward_type == 'unit': + rec.employee = False + elif rec.forward_type == 'employee' and rec.internal_unit: + if rec.employee.parent_id.id != rec.internal_unit.id: + rec.employee = False + + return {"domain": {"employee": domain}} def action_forward(self): transaction = ''