summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--addons/repair/models/repair.py3
-rw-r--r--addons/repair/views/repair_views.xml2
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>