details:   https://code.tryton.org/tryton/commit/2665053b2c23
branch:    default
user:      Cédric Krier <[email protected]>
date:      Fri Oct 02 11:12:28 2026 +0200
description:
        Prevent editing inputs and outputs of production without a company
diffstat:

 modules/production/production.py |  13 +++++++++++--
 1 files changed, 11 insertions(+), 2 deletions(-)

diffs (37 lines):

diff -r aaa87c6471b3 -r 2665053b2c23 modules/production/production.py
--- a/modules/production/production.py  Fri Oct 02 11:11:48 2026 +0200
+++ b/modules/production/production.py  Fri Oct 02 11:12:28 2026 +0200
@@ -43,6 +43,9 @@
     company = fields.Many2One('company.company', 'Company', required=True,
         states={
             'readonly': ~Eval('state').in_(['request', 'draft']),
+            'editable': ~(
+                Eval('inputs', [-1])
+                | Eval('outputs', [-1])),
             })
     warehouse = fields.Many2One('stock.location', 'Warehouse', required=True,
         domain=[
@@ -130,7 +133,10 @@
             ],
         states={
             'readonly': ~Eval('state').in_(['request', 'draft', 'waiting']),
-            'editable': Eval('warehouse', None) & Eval('location', None),
+            'editable': (
+                Eval('warehouse', None)
+                & Eval('location', None)
+                & Eval('company', None)),
             })
     outputs = fields.One2Many(
         'stock.move', 'production_output', "Output Materials",
@@ -145,7 +151,10 @@
             ],
         states={
             'readonly': Eval('state').in_(['done', 'cancelled']),
-            'editable': Eval('warehouse', None) & Eval('location', None),
+            'editable': (
+                Eval('warehouse', None)
+                & Eval('location', None)
+                & Eval('company', None)),
             })
 
     assigned_by = employee_field("Assigned By")

Reply via email to