diff options
| -rw-r--r-- | addons/repair/models/repair.py | 3 | ||||
| -rw-r--r-- | addons/repair/views/repair_views.xml | 2 |
2 files changed, 3 insertions, 2 deletions
diff --git a/addons/repair/models/repair.py b/addons/repair/models/repair.py index 30b99803eaf..6602a8462bd 100644 --- a/addons/repair/models/repair.py +++ b/addons/repair/models/repair.py @@ -159,7 +159,8 @@ class Repair(models.Model): @api.onchange('product_id') def onchange_product_id(self): self.guarantee_limit = False - self.lot_id = False + if (self.product_id and self.lot_id and self.lot_id.product_id != self.product_id) or not self.product_id: + self.lot_id = False if self.product_id: self.product_uom = self.product_id.uom_id.id diff --git a/addons/repair/views/repair_views.xml b/addons/repair/views/repair_views.xml index 30b6f7a369c..f96f4e472c2 100644 --- a/addons/repair/views/repair_views.xml +++ b/addons/repair/views/repair_views.xml @@ -58,7 +58,7 @@ <field name="product_qty"/> <field name="product_uom" groups="uom.group_uom"/> </div> - <field name="lot_id" domain="[('product_id', '=', product_id)]" context="{'default_product_id': product_id}" groups="stock.group_production_lot" attrs="{'required': [('tracking', '!=', 'none')], 'readonly': [('state', '=', 'done')]}"/> + <field name="lot_id" domain="[('product_id', '=', product_id)]" context="{'default_product_id': product_id}" groups="stock.group_production_lot" attrs="{'required':[('tracking', 'in', ['serial', 'lot'])], 'invisible': [('tracking', 'not in', ['serial', 'lot'])], 'readonly': [('state', '=', 'done')]}"/> <field name="partner_id" widget="res_partner_many2one" attrs="{'required':[('invoice_method','!=','none')]}" context="{'show_vat': True}"/> <field name="address_id" groups="sale.group_delivery_invoice_address"/> </group> |
