[FIX] stock: warehouse code should impact picking type

Usecase to reproduce:
- Create Warehouse with code A -> Picking type sequence start with A/
- Set the warehouse's code to B -> Picking type sequence remains A/
- Set the warehouse's code to C -> Picking type sequence become B/

It happens because _update_name_and_code is called before the write and
it updates the picking_type's sequence with warehouse current name and
code.
This commit is contained in:
Arnold Moyaux
2020-03-19 10:45:25 +00:00
parent 975ba27723
commit da3eddbd51
+3 -4
View File
@@ -132,10 +132,6 @@ class Warehouse(models.Model):
Route = self.env['stock.location.route']
warehouses = self.with_context(active_test=False)
if vals.get('code') or vals.get('name'):
warehouses._update_name_and_code(vals.get('name'), vals.get('code'))
warehouses._create_missing_locations(vals)
if vals.get('reception_steps'):
@@ -157,6 +153,9 @@ class Warehouse(models.Model):
res = super(Warehouse, self).write(vals)
if vals.get('code') or vals.get('name'):
warehouses._update_name_and_code(vals.get('name'), vals.get('code'))
for warehouse in warehouses:
# check if we need to delete and recreate route
depends = [depend for depends in [value.get('depends', []) for value in warehouse._get_routes_values().values()] for depend in depends]