changeset b483de7e3ad8 in modules/stock:default
details: https://hg.tryton.org/modules/stock?cmd=changeset&node=b483de7e3ad8
description:
        Send only the required fields when fetching a readonly view definition

        issue11134
        review380081002
diffstat:

 configuration.py          |  18 +++------
 inventory.py              |  19 +++-------
 location.py               |  20 +---------
 move.py                   |  28 ++++-----------
 period.py                 |   2 +-
 product.py                |   6 +--
 shipment.py               |  83 +++++++++++-----------------------------------
 stock_reporting_margin.py |   8 +--
 8 files changed, 49 insertions(+), 135 deletions(-)

diffs (859 lines):

diff -r ffb276238a51 -r b483de7e3ad8 configuration.py
--- a/configuration.py  Wed Apr 06 23:37:44 2022 +0200
+++ b/configuration.py  Fri Apr 08 19:07:14 2022 +0200
@@ -137,48 +137,42 @@
             ('company', 'in', [Eval('company', -1), None]),
             ('sequence_type', '=',
                 Id('stock', 'sequence_type_shipment_in')),
-            ],
-        depends=['company'])
+            ])
     shipment_in_return_sequence = fields.Many2One(
         'ir.sequence', "Supplier Return Shipment Sequence", required=True,
         domain=[
             ('company', 'in', [Eval('company', -1), None]),
             ('sequence_type', '=',
                 Id('stock', 'sequence_type_shipment_in_return')),
-            ],
-        depends=['company'])
+            ])
     shipment_out_sequence = fields.Many2One(
         'ir.sequence', "Customer Shipment Sequence", required=True,
         domain=[
             ('company', 'in', [Eval('company', -1), None]),
             ('sequence_type', '=',
                 Id('stock', 'sequence_type_shipment_out')),
-            ],
-        depends=['company'])
+            ])
     shipment_out_return_sequence = fields.Many2One(
         'ir.sequence', "Customer Return Shipment Sequence", required=True,
         domain=[
             ('company', 'in', [Eval('company', -1), None]),
             ('sequence_type', '=',
                 Id('stock', 'sequence_type_shipment_out_return')),
-            ],
-        depends=['company'])
+            ])
     shipment_internal_sequence = fields.Many2One(
         'ir.sequence', "Internal Shipment Sequence", required=True,
         domain=[
             ('company', 'in', [Eval('company', -1), None]),
             ('sequence_type', '=',
                 Id('stock', 'sequence_type_shipment_internal')),
-            ],
-        depends=['company'])
+            ])
     inventory_sequence = fields.Many2One(
         'ir.sequence', "Inventory Sequence", required=True,
         domain=[
             ('company', 'in', [Eval('company', -1), None]),
             ('sequence_type', '=',
                 Id('stock', 'sequence_type_inventory')),
-            ],
-        depends=['company'])
+            ])
 
     @classmethod
     def __register__(cls, module_name):
diff -r ffb276238a51 -r b483de7e3ad8 inventory.py
--- a/inventory.py      Wed Apr 06 23:37:44 2022 +0200
+++ b/inventory.py      Fri Apr 08 19:07:14 2022 +0200
@@ -25,7 +25,6 @@
     _states = {
         'readonly': Eval('state') != 'draft',
         }
-    _depends = ['state']
 
     number = fields.Char('Number', readonly=True,
         help="The main identifier for the inventory.")
@@ -34,31 +33,27 @@
         domain=[('type', '=', 'storage')], states={
             'readonly': (Eval('state') != 'draft') | Eval('lines', [0]),
             },
-        depends=['state'],
         help="The location inventoried.")
     date = fields.Date('Date', required=True, states={
             'readonly': (Eval('state') != 'draft') | Eval('lines', [0]),
             },
-        depends=['state'],
         help="The date of the stock count.")
     lines = fields.One2Many(
         'stock.inventory.line', 'inventory', 'Lines',
         states={
             'readonly': (_states['readonly'] | ~Eval('location')
                 | ~Eval('date')),
-            },
-        depends=['location', 'date'] + _depends)
+            })
     empty_quantity = fields.Selection([
             (None, ""),
             ('keep', "Keep"),
             ('empty', "Empty"),
-            ], "Empty Quantity", states=_states, depends=_depends,
+            ], "Empty Quantity", states=_states,
         help="How lines without a quantity are handled.")
     company = fields.Many2One('company.company', 'Company', required=True,
         states={
             'readonly': (Eval('state') != 'draft') | Eval('lines', [0]),
             },
-        depends=['state'],
         help="The company the inventory is associated with.")
     state = fields.Selection([
             ('draft', "Draft"),
@@ -67,7 +62,7 @@
             ], "State", readonly=True, select=True, sort=False,
         help="The current state of the inventory.")
 
-    del _states, _depends
+    del _states
 
     @classmethod
     def __setup__(cls):
@@ -326,12 +321,11 @@
     _states = {
         'readonly': Eval('inventory_state') != 'draft',
         }
-    _depends = ['inventory_state']
 
     product = fields.Many2One('product.product', 'Product', required=True,
         domain=[
             ('type', '=', 'goods'),
-            ], states=_states, depends=_depends)
+            ], states=_states)
     uom = fields.Function(fields.Many2One('product.uom', 'UOM',
         help="The unit in which the quantity is specified."), 'get_uom')
     expected_quantity = fields.Float(
@@ -341,7 +335,7 @@
         },
         help="The quantity the system calculated should be in the location.")
     quantity = fields.Float(
-        "Actual Quantity", digits='uom', states=_states, depends=_depends,
+        "Actual Quantity", digits='uom', states=_states,
         help="The actual quantity found in the location.")
     moves = fields.One2Many('stock.move', 'origin', 'Moves', readonly=True)
     inventory = fields.Many2One('stock.inventory', 'Inventory', required=True,
@@ -349,7 +343,6 @@
         states={
             'readonly': _states['readonly'] & Bool(Eval('inventory')),
             },
-        depends=_depends,
         help="The inventory the line belongs to.")
     inventory_location = fields.Function(
         fields.Many2One('stock.location', "Location"),
@@ -361,7 +354,7 @@
         searcher='search_inventory_date')
     inventory_state = fields.Function(
         fields.Selection('get_inventory_states', "Inventory State",
-        depends=['inventory']),
+        depends={'inventory'}),
         'on_change_with_inventory_state')
 
     @classmethod
diff -r ffb276238a51 -r b483de7e3ad8 location.py
--- a/location.py       Wed Apr 06 23:37:44 2022 +0200
+++ b/location.py       Fri Apr 08 19:07:14 2022 +0200
@@ -48,8 +48,7 @@
         'party.address', "Address",
         states={
             'invisible': Eval('type') != 'warehouse',
-            },
-        depends=['type'])
+            })
     type = fields.Selection([
         ('supplier', 'Supplier'),
         ('customer', 'Customer'),
@@ -86,7 +85,6 @@
                 ('parent', '=', None),
                 ],
             ],
-        depends=['type', 'id'],
         help="Where incoming stock is received.")
     output_location = fields.Many2One(
         "stock.location", "Output", states={
@@ -98,7 +96,6 @@
             ['OR',
                 ('parent', 'child_of', [Eval('id', -1)]),
                 ('parent', '=', None)]],
-        depends=['type', 'id'],
         help="Where outgoing stock is sent from.")
     storage_location = fields.Many2One(
         "stock.location", "Storage", states={
@@ -110,7 +107,6 @@
             ['OR',
                 ('parent', 'child_of', [Eval('id', -1)]),
                 ('parent', '=', None)]],
-        depends=['type', 'id'],
         help="The top level location where stock is stored.")
     picking_location = fields.Many2One(
         'stock.location', 'Picking', states={
@@ -120,7 +116,6 @@
             ('type', '=', 'storage'),
             ('parent', 'child_of', [Eval('storage_location', -1)]),
             ],
-        depends=['type', 'storage_location'],
         help="Where stock is picked from.\n"
         "Leave empty to use the storage location.")
     lost_found_location = fields.Many2One(
@@ -132,7 +127,6 @@
         domain=[
             ('type', '=', 'lost_found'),
             ],
-        depends=['type', 'active'],
         help="Used, by inventories, when correcting stock levels "
         "in the warehouse.")
     waste_locations = fields.Many2Many(
@@ -143,7 +137,6 @@
         domain=[
             ('type', '=', 'lost_found'),
             ],
-        depends=['type'],
         help="The locations used for waste products from the warehouse.")
     waste_warehouses = fields.Many2Many(
         'stock.location.waste', 'location', 'warehouse', "Waste Warehouses",
@@ -153,19 +146,16 @@
         domain=[
             ('type', '=', 'warehouse'),
             ],
-        depends=['type'],
         help="The warehouses that use the location for waste products.")
 
     quantity = fields.Function(
         fields.Float(
             "Quantity", digits=(16, Eval('quantity_uom_digits', 2)),
-            depends=['quantity_uom_digits'],
             help="The amount of stock in the location."),
         'get_quantity', searcher='search_quantity')
     forecast_quantity = fields.Function(
         fields.Float(
             "Forecast Quantity", digits=(16, Eval('quantity_uom_digits', 2)),
-            depends=['quantity_uom_digits'],
             help="The amount of stock expected to be in the location."),
         'get_quantity', searcher='search_quantity')
     quantity_uom = fields.Function(fields.Many2One(
@@ -202,9 +192,7 @@
             childs_domain.append(If(Eval('type') == type_,
                     ('type', 'in', childs_mapping[type_]), ()))
         cls.parent.domain = parent_domain
-        cls.parent.depends.append('type')
         cls.childs.domain = childs_domain
-        cls.childs.depends.extend(['flat_childs', 'type'])
 
     @classmethod
     def _parent_domain(cls):
@@ -747,13 +735,11 @@
     product = fields.Many2One('product.product', "Product")
     quantity = fields.Function(
         fields.Float(
-            "Quantity", digits=(16, Eval('default_uom_digits', 2)),
-            depends=['default_uom_digits']),
+            "Quantity", digits=(16, Eval('default_uom_digits', 2))),
         'get_product', searcher='search_product')
     forecast_quantity = fields.Function(
         fields.Float(
-            "Forecast Quantity", digits=(16, Eval('default_uom_digits', 2)),
-            depends=['default_uom_digits']),
+            "Forecast Quantity", digits=(16, Eval('default_uom_digits', 2))),
         'get_product', searcher='search_product')
     default_uom = fields.Function(
         fields.Many2One('product.uom', "Default UOM"),
diff -r ffb276238a51 -r b483de7e3ad8 move.py
--- a/move.py   Wed Apr 06 23:37:44 2022 +0200
+++ b/move.py   Fri Apr 08 19:07:14 2022 +0200
@@ -26,7 +26,6 @@
 STATES = {
     'readonly': Eval('state').in_(['cancelled', 'assigned', 'done']),
 }
-DEPENDS = ['state']
 LOCATION_DOMAIN = [
     If(Eval('state').in_(['staging', 'draft', 'cancelled']),
         ('type', 'not in', ['warehouse']),
@@ -35,7 +34,6 @@
         ('active', '=', True),
         ()),
     ]
-LOCATION_DEPENDS = ['state']
 
 
 class StockMixin(object):
@@ -183,7 +181,7 @@
         context={
             'company': Eval('company', -1),
             },
-        depends=DEPENDS + ['company'],
+        depends={'company'},
         help="The product that the move is associated with.")
     product_uom_category = fields.Function(
         fields.Many2One('product.uom.category', 'Product Uom Category'),
@@ -198,21 +196,20 @@
                 ('category', '=', Eval('product_uom_category')),
                 ()),
             ],
-        depends=['state', 'unit_price', 'product_uom_category'],
         help="The unit in which the quantity is specified.")
     quantity = fields.Float(
         "Quantity", digits='uom', required=True,
-        states=STATES, depends=DEPENDS,
+        states=STATES,
         help="The amount of stock moved.")
     internal_quantity = fields.Float('Internal Quantity', readonly=True,
         required=True)
     from_location = fields.Many2One("stock.location", "From Location",
         select=True, required=True, states=STATES,
-        depends=DEPENDS + LOCATION_DEPENDS, domain=LOCATION_DOMAIN,
+        domain=LOCATION_DOMAIN,
         help="Where the stock is moved from.")
     to_location = fields.Many2One("stock.location", "To Location", select=True,
         required=True, states=STATES,
-        depends=DEPENDS + LOCATION_DEPENDS, domain=LOCATION_DOMAIN,
+        domain=LOCATION_DOMAIN,
         help="Where the stock is moved to.")
     shipment = fields.Reference('Shipment', selection='get_shipment',
         readonly=True, select=True,
@@ -224,12 +221,11 @@
         states={
             'readonly': Eval('state') != 'draft',
             },
-        depends=['state'],
         help="The source of the stock move.")
     planned_date = fields.Date("Planned Date", states={
             'readonly': (Eval('state').in_(['cancelled', 'assigned', 'done'])
                 | Eval('shipment'))
-            }, depends=['state', 'shipment'],
+            },
         select=True,
         help="When the stock is expected to be moved.")
     effective_date = fields.Date("Effective Date", select=True,
@@ -238,7 +234,6 @@
             'readonly': (Eval('state').in_(['cancelled', 'done'])
                 | Eval('shipment')),
             },
-        depends=['state', 'shipment'],
         help="When the stock was actually moved.")
     state = fields.Selection([
         ('staging', 'Staging'),
@@ -253,29 +248,25 @@
         states={
             'readonly': Eval('state') != 'draft',
             },
-        depends=['state'],
         help="The company the stock move is associated with.")
     unit_price = fields.Numeric('Unit Price', digits=price_digits,
         states={
             'invisible': ~Eval('unit_price_required'),
             'required': Bool(Eval('unit_price_required')),
             'readonly': Eval('state') != 'draft',
-            },
-        depends=['unit_price_required', 'state'])
+            })
     unit_price_company = fields.Function(
         fields.Numeric("Unit Price", digits=price_digits,
             states={
                 'invisible': ~Eval('unit_price_required'),
                 },
-            depends=['unit_price_required'],
             help="Unit price in company currency."),
         'get_unit_price_company')
     unit_price_updated = fields.Boolean(
         "Unit Price Updated", readonly=True,
         states={
             'invisible': Eval('state') != 'done',
-            },
-        depends=['state'])
+            })
     cost_price = fields.Numeric(
         "Cost Price", digits=price_digits, readonly=True,
         states={
@@ -283,15 +274,13 @@
             'required': (
                 (Eval('state') == 'done')
                 & Eval('cost_price_required', False)),
-            },
-        depends=['cost_price_required'])
+            })
     currency = fields.Many2One('currency.currency', 'Currency',
         states={
             'invisible': ~Eval('unit_price_required'),
             'required': Bool(Eval('unit_price_required')),
             'readonly': Eval('state') != 'draft',
             },
-        depends=['unit_price_required', 'state'],
         help="The currency in which the unit price is specified.")
     unit_price_required = fields.Function(
         fields.Boolean('Unit Price Required'),
@@ -315,7 +304,6 @@
                 ()),
             ('type', 'in', cls.get_product_types()),
             ]
-        cls.product.depends += ['product_uom_category']
         cls._deny_modify_assigned = set(['product', 'uom', 'quantity',
             'from_location', 'to_location', 'company', 'currency'])
         cls._deny_modify_done_cancel = (cls._deny_modify_assigned
diff -r ffb276238a51 -r b483de7e3ad8 period.py
--- a/period.py Wed Apr 06 23:37:44 2022 +0200
+++ b/period.py Fri Apr 08 19:07:14 2022 +0200
@@ -19,7 +19,7 @@
     __name__ = 'stock.period'
     date = fields.Date('Date', required=True, states={
             'readonly': Eval('state') == 'closed',
-            }, depends=['state'],
+            },
         help="When the stock period ends.")
     company = fields.Many2One(
         'company.company', "Company", required=True,
diff -r ffb276238a51 -r b483de7e3ad8 product.py
--- a/product.py        Wed Apr 06 23:37:44 2022 +0200
+++ b/product.py        Fri Apr 08 19:07:14 2022 +0200
@@ -192,12 +192,10 @@
     __name__ = "product.product"
     quantity = fields.Function(fields.Float(
             "Quantity", digits=(16, Eval('default_uom_digits', 2)),
-            depends=['default_uom_digits'],
             help="The amount of stock in the location."),
         'get_quantity', searcher='search_quantity')
     forecast_quantity = fields.Function(fields.Float(
             "Forecast Quantity", digits=(16, Eval('default_uom_digits', 2)),
-            depends=['default_uom_digits'],
             help="The amount of stock expected to be in the location."),
         'get_quantity', searcher='search_quantity')
     cost_value = fields.Function(fields.Numeric(
@@ -1195,7 +1193,7 @@
         context={
             'company': Eval('company', -1),
             },
-        depends=['product', 'company'])
+        depends={'company'})
     product = fields.Many2One(
         'product.product', "Variant",
         ondelete='CASCADE', select=True,
@@ -1207,7 +1205,7 @@
         context={
             'company': Eval('company', -1),
             },
-        depends=['template', 'company'])
+        depends={'company'})
     company = fields.Many2One(
         'company.company', "Company", ondelete='CASCADE', required=True)
 
diff -r ffb276238a51 -r b483de7e3ad8 shipment.py
--- a/shipment.py       Wed Apr 06 23:37:44 2022 +0200
+++ b/shipment.py       Fri Apr 08 19:07:14 2022 +0200
@@ -128,23 +128,21 @@
         states={
             'readonly': Eval('state').in_(['cancelled', 'done']),
             },
-        depends=['state'],
         help="When the stock was actually received.")
     planned_date = fields.Date('Planned Date', states={
             'readonly': Eval('state') != 'draft',
-            }, depends=['state'],
+            },
         help="When the stock is expected to be received.")
     company = fields.Many2One(
         'company.company', "Company", required=True,
         states={
             'readonly': Eval('state') != 'draft',
             },
-        depends=['state'],
         help="The company the shipment is associated with.")
     reference = fields.Char("Reference", size=None, select=True,
         states={
             'readonly': Eval('state') != 'draft',
-            }, depends=['state'],
+            },
         help="The supplier's identifier for the shipment.")
     supplier = fields.Many2One('party.party', 'Supplier',
         states={
@@ -155,7 +153,7 @@
         context={
             'company': Eval('company', -1),
             },
-        depends=['state', 'supplier', 'company'],
+        depends={'company'},
         help="The party that supplied the stock.")
     supplier_location = fields.Function(fields.Many2One('stock.location',
             'Supplier Location'),
@@ -164,14 +162,13 @@
         states={
             'readonly': Eval('state') != 'draft',
             }, domain=[('party', '=', Eval('supplier'))],
-        depends=['state', 'supplier'],
         help="The address at which the supplier can be contacted.")
     warehouse = fields.Many2One('stock.location', "Warehouse",
         required=True, domain=[('type', '=', 'warehouse')],
         states={
             'readonly': (Eval('state').in_(['cancelled', 'done'])
                 | Eval('incoming_moves', [0]) | Eval('inventory_moves', [0])),
-            }, depends=['state'],
+            },
         help="Where the stock is received.")
     warehouse_input = fields.Function(fields.Many2One('stock.location',
             'Warehouse Input'),
@@ -203,8 +200,6 @@
                     Eval('state').in_(['received', 'done', 'cancelled'])
                     | ~Eval('warehouse') | ~Eval('supplier')),
                 },
-            depends=['state', 'warehouse', 'supplier_location',
-                'warehouse_input', 'warehouse_storage', 'company'],
             help="The moves that bring the stock into the warehouse."),
         'get_incoming_moves', setter='set_incoming_moves')
     inventory_moves = fields.Function(fields.One2Many('stock.move', 'shipment',
@@ -226,13 +221,10 @@
                 'invisible': (
                     Eval('warehouse_input') == Eval('warehouse_storage')),
                 },
-            depends=['state', 'warehouse', 'warehouse_input',
-                'warehouse_storage', 'company'],
             help="The moves that put the stock away into the storage area."),
         'get_inventory_moves', setter='set_inventory_moves')
     moves = fields.One2Many('stock.move', 'shipment', 'Moves',
-        domain=[('company', '=', Eval('company'))], readonly=True,
-        depends=['company'])
+        domain=[('company', '=', Eval('company'))], readonly=True)
     origins = fields.Function(fields.Char('Origins'), 'get_origins')
     number = fields.Char('Number', size=None, select=True, readonly=True,
         help="The main identifier for the shipment.")
@@ -575,26 +567,24 @@
         states={
             'readonly': Eval('state').in_(['cancelled', 'done']),
             },
-        depends=['state'],
         help="When the stock was actually returned.")
     planned_date = fields.Date('Planned Date',
         states={
             'readonly': Eval('state') != 'draft',
-            }, depends=['state'],
+            },
         help="When the stock is expected to be returned.")
     company = fields.Many2One(
         'company.company', "Company", required=True,
         states={
             'readonly': Eval('state') != 'draft',
             },
-        depends=['state'],
         help="The company the shipment is associated with.")
     number = fields.Char('Number', size=None, select=True, readonly=True,
         help="The main identifier for the shipment.")
     reference = fields.Char("Reference", size=None, select=True,
         states={
             'readonly': Eval('state') != 'draft',
-            }, depends=['state'],
+            },
         help="The supplier's identifier for the shipment.")
     supplier = fields.Many2One('party.party', 'Supplier',
         states={
@@ -605,7 +595,7 @@
         context={
             'company': Eval('company', -1),
             },
-        depends=['state', 'supplier', 'company'],
+        depends={'company'},
         help="The party that supplied the stock.")
     delivery_address = fields.Many2One('party.address', 'Delivery Address',
         states={
@@ -614,19 +604,16 @@
         domain=[
             ('party', '=', Eval('supplier'))
             ],
-        depends=['state', 'supplier'],
         help="Where the stock is sent to.")
     from_location = fields.Many2One('stock.location', "From Location",
         required=True, states={
             'readonly': (Eval('state') != 'draft') | Eval('moves', [0]),
             }, domain=[('type', 'in', ['storage', 'view'])],
-        depends=['state'],
         help="Where the stock is moved from.")
     to_location = fields.Many2One('stock.location', "To Location",
         required=True, states={
             'readonly': (Eval('state') != 'draft') | Eval('moves', [0]),
             }, domain=[('type', '=', 'supplier')],
-        depends=['state'],
         help="Where the stock is moved to.")
     moves = fields.One2Many('stock.move', 'shipment', 'Moves',
         states={
@@ -647,7 +634,6 @@
                     [])),
             ('company', '=', Eval('company')),
             ],
-        depends=['state', 'from_location', 'to_location', 'company'],
         help="The moves that return the stock to the supplier.")
     origins = fields.Function(fields.Char('Origins'), 'get_origins')
     assigned_by = employee_field("Assigned By")
@@ -941,19 +927,17 @@
         states={
             'readonly': Eval('state').in_(['cancelled', 'done']),
             },
-        depends=['state'],
         help="When the stock was actually sent.")
     planned_date = fields.Date('Planned Date',
         states={
             'readonly': Eval('state') != 'draft',
-            }, depends=['state'],
+            },
         help="When the stock is expected to be sent.")
     company = fields.Many2One(
         'company.company', "Company", required=True,
         states={
             'readonly': Eval('state') != 'draft',
             },
-        depends=['state'],
         help="The company the shipment is associated with.")
     customer = fields.Many2One('party.party', 'Customer', required=True,
         states={
@@ -963,7 +947,7 @@
         context={
             'company': Eval('company', -1),
             },
-        depends=['state', 'company'],
+        depends={'company'},
         help="The party that purchased the stock.")
     customer_location = fields.Function(fields.Many2One('stock.location',
             'Customer Location'), 'on_change_with_customer_location')
@@ -972,19 +956,17 @@
         states={
             'readonly': Eval('state') != 'draft',
             }, domain=[('party', '=', Eval('customer'))],
-        depends=['state', 'customer'],
         help="Where the stock is sent to.")
     reference = fields.Char("Reference", size=None, select=True,
         states={
             'readonly': Eval('state') != 'draft',
-            }, depends=['state'],
+            },
         help="The customer's identifier for the shipment.")
     warehouse = fields.Many2One('stock.location', "Warehouse", required=True,
         states={
             'readonly': ((Eval('state') != 'draft')
                 | Eval('outgoing_moves', [0]) | Eval('inventory_moves', [0])),
             }, domain=[('type', '=', 'warehouse')],
-        depends=['state'],
         help="Where the stock is sent from.")
     warehouse_storage = fields.Function(fields.Many2One('stock.location',
             'Warehouse Storage'), 'on_change_with_warehouse_storage')
@@ -1006,8 +988,6 @@
                             ))
                     | ~Eval('warehouse') | ~Eval('customer')),
                 },
-            depends=['state', 'warehouse', 'customer', 'warehouse_output',
-                'customer_location', 'company'],
             help="The moves that send the stock to the customer."),
         'get_outgoing_moves', setter='set_outgoing_moves')
     inventory_moves = fields.Function(fields.One2Many('stock.move', 'shipment',
@@ -1026,13 +1006,10 @@
                 'invisible': (
                     Eval('warehouse_storage') == Eval('warehouse_output')),
                 },
-            depends=['state', 'warehouse', 'warehouse_storage',
-                'warehouse_output', 'company'],
             help="The moves that pick the stock from the storage area."),
         'get_inventory_moves', setter='set_inventory_moves')
     moves = fields.One2Many('stock.move', 'shipment', 'Moves',
-        domain=[('company', '=', Eval('company'))], depends=['company'],
-        readonly=True)
+        domain=[('company', '=', Eval('company'))], readonly=True)
     origins = fields.Function(fields.Char('Origins'), 'get_origins')
     number = fields.Char('Number', size=None, select=True, readonly=True,
         help="The main identifier for the shipment.")
@@ -1599,19 +1576,17 @@
         states={
             'readonly': Eval('state').in_(['cancelled', 'done']),
             },
-        depends=['state'],
         help="When the stock was returned.")
     planned_date = fields.Date('Planned Date',
         states={
             'readonly': Eval('state') != 'draft',
-            }, depends=['state'],
+            },
         help="When the stock is expected to be returned.")
     company = fields.Many2One(
         'company.company', "Company", required=True,
         states={
             'readonly': Eval('state') != 'draft',
             },
-        depends=['state'],
         help="The company the shipment is associated with.")
     customer = fields.Many2One('party.party', 'Customer', required=True,
         states={
@@ -1621,7 +1596,7 @@
         context={
             'company': Eval('company', -1),
             },
-        depends=['state', 'company'],
+        depends={'company'},
         help="The party that purchased the stock.")
     customer_location = fields.Function(fields.Many2One('stock.location',
             'Customer Location'), 'on_change_with_customer_location')
@@ -1630,19 +1605,17 @@
         states={
             'readonly': Eval('state') != 'draft',
             }, domain=[('party', '=', Eval('customer'))],
-        depends=['state', 'customer'],
         help="The address the customer can be contacted at.")
     reference = fields.Char("Reference", size=None, select=True,
         states={
             'readonly': Eval('state') != 'draft',
-            }, depends=['state'],
+            },
         help="The customer's identifier for the shipment.")
     warehouse = fields.Many2One('stock.location', "Warehouse", required=True,
         states={
             'readonly': ((Eval('state') != 'draft')
                 | Eval('incoming_moves', [0]) | Eval('inventory_moves', [0])),
             }, domain=[('type', '=', 'warehouse')],
-        depends=['state'],
         help="Where the stock is returned.")
     warehouse_storage = fields.Function(fields.Many2One('stock.location',
             'Warehouse Storage'), 'on_change_with_warehouse_storage')
@@ -1662,8 +1635,6 @@
                 'readonly': ((Eval('state') != 'draft')
                     | ~Eval('warehouse') | ~Eval('customer')),
                 },
-            depends=['state', 'warehouse', 'customer', 'customer_location',
-                'warehouse_input', 'warehouse_storage', 'company'],
             help="The moves that bring the stock into the warehouse."),
         'get_incoming_moves', setter='set_incoming_moves')
     inventory_moves = fields.Function(fields.One2Many('stock.move', 'shipment',
@@ -1685,13 +1656,10 @@
                 'invisible': (
                     Eval('warehouse_input') == Eval('warehouse_storage')),
                 },
-            depends=['state', 'warehouse', 'warehouse_input',
-                'warehouse_storage', 'warehouse_input', 'company'],
             help="The moves that put the stock away into the storage area."),
         'get_inventory_moves', setter='set_inventory_moves')
     moves = fields.One2Many('stock.move', 'shipment', 'Moves',
-        domain=[('company', '=', Eval('company'))], depends=['company'],
-        readonly=True)
+        domain=[('company', '=', Eval('company'))], readonly=True)
     origins = fields.Function(fields.Char('Origins'), 'get_origins')
     number = fields.Char('Number', size=None, select=True, readonly=True,
         help="The main identifier for the shipment.")
@@ -2023,12 +1991,11 @@
         states={
             'readonly': Eval('state').in_(['cancelled', 'done']),
             },
-        depends=['state'],
         help="When the shipment was actually completed.")
     planned_date = fields.Date('Planned Date',
         states={
             'readonly': ~Eval('state').in_(['request', 'draft']),
-            }, depends=['state'],
+            },
         help="When the shipment is expected to be completed.")
     effective_start_date = fields.Date('Effective Start Date',
         domain=[
@@ -2039,7 +2006,6 @@
         states={
             'readonly': Eval('state').in_(['cancelled', 'shipped', 'done']),
             },
-        depends=['effective_date', 'state'],
         help="When the stock was actually sent.")
     planned_start_date = fields.Date('Planned Start Date',
         domain=[
@@ -2051,21 +2017,19 @@
             'readonly': ~Eval('state').in_(['request', 'draft']),
             'required': Bool(Eval('planned_date')),
             },
-        depends=['planned_date', 'state'],
         help="When the stock is expected to be sent.")
     company = fields.Many2One(
         'company.company', "Company", required=True,
         states={
             'readonly': ~Eval('state').in_(['request', 'draft']),
             },
-        depends=['state'],
         help="The company the shipment is associated with.")
     number = fields.Char('Number', size=None, select=True, readonly=True,
         help="The main identifier for the shipment.")
     reference = fields.Char("Reference", size=None, select=True,
         states={
             'readonly': ~Eval('state').in_(['request', 'draft']),
-            }, depends=['state'],
+            },
         help="The external identifiers for the shipment.")
     from_location = fields.Many2One('stock.location', "From Location",
         required=True, states={
@@ -2074,7 +2038,7 @@
             },
         domain=[
             ('type', 'in', ['view', 'storage', 'lost_found']),
-            ], depends=['state'],
+            ],
         help="Where the stock is moved from.")
     to_location = fields.Many2One('stock.location', "To Location",
         required=True, states={
@@ -2082,7 +2046,7 @@
                     | Eval('moves', [0])),
             }, domain=[
             ('type', 'in', ['view', 'storage', 'lost_found']),
-            ], depends=['state'],
+            ],
         help="Where the stock is moved to.")
     transit_location = fields.Function(fields.Many2One('stock.location',
             'Transit Location',
@@ -2130,8 +2094,6 @@
                     [])),
             ('company', '=', Eval('company')),
             ],
-        depends=['state', 'from_location', 'to_location', 'transit_location',
-            'company'],
         help="The moves that perform the shipment.")
     outgoing_moves = fields.Function(fields.One2Many('stock.move', 'shipment',
             'Outgoing Moves',
@@ -2152,8 +2114,6 @@
                 'invisible': (~Eval('transit_location')
                     | Eval('state').in_(['request', 'draft'])),
                 },
-            depends=['from_location', 'to_location', 'transit_location',
-                'state'],
             help="The moves that send the stock out."),
         'get_outgoing_moves', setter='set_moves')
     incoming_moves = fields.Function(fields.One2Many('stock.move', 'shipment',
@@ -2174,8 +2134,6 @@
                 'invisible': (~Eval('transit_location')
                     | Eval('state').in_(['request', 'draft'])),
                 },
-            depends=['from_location', 'to_location', 'transit_location',
-                'state'],
             help="The moves that receive the stock in."),
         'get_incoming_moves', setter='set_moves')
     assigned_by = employee_field("Received By")
@@ -2302,7 +2260,6 @@
     def default_company():
         return Transaction().context.get('company')
 
-    @fields.depends('planned_date', 'planned_start_date', 'company')
     def on_change_with_transit_location(self, name=None):
         pool = Pool()
         Config = pool.get('stock.configuration')
diff -r ffb276238a51 -r b483de7e3ad8 stock_reporting_margin.py
--- a/stock_reporting_margin.py Wed Apr 06 23:37:44 2022 +0200
+++ b/stock_reporting_margin.py Fri Apr 08 19:07:14 2022 +0200
@@ -282,15 +282,13 @@
             If(Eval('to_date') & Eval('from_date'),
                 ('from_date', '<=', Eval('to_date')),
                 ()),
-            ],
-        depends=['to_date'])
+            ])
     to_date = fields.Date("To Date",
         domain=[
             If(Eval('from_date') & Eval('to_date'),
                 ('to_date', '>=', Eval('from_date')),
                 ()),
-            ],
-        depends=['from_date'])
+            ])
     period = fields.Selection([
             ('year', "Year"),
             ('month', "Month"),
@@ -362,7 +360,7 @@
         context={
             'company': Eval('company', -1),
             },
-        depends=['company'])
+        depends={'company'})
     internal_quantity = fields.Float("Internal Quantity")
     quantity = fields.Function(fields.Float(
             "Quantity", digits='unit'), 'get_quantity')

Reply via email to