[FIX] purchase_stock: propagate supplier in multi steps

X-original-commit: 1e550be1cc968940dd5c263160b8cc38e9d4e72b
Part-of: odoo/odoo#83430
This commit is contained in:
Arnold Moyaux
2022-02-02 16:40:48 +00:00
committed by Tiffany Chang (tic)
parent e90d32dc85
commit 476394c580
2 changed files with 16 additions and 0 deletions
+7
View File
@@ -89,6 +89,13 @@ class StockMove(models.Model):
vals['purchase_line_id'] = self.purchase_line_id.id
return vals
def _prepare_procurement_values(self):
proc_values = super()._prepare_procurement_values()
if self.restrict_partner_id:
proc_values['supplierinfo_name'] = self.restrict_partner_id
self.restrict_partner_id = False
return proc_values
def _clean_merged(self):
super(StockMove, self)._clean_merged()
self.write({'created_purchase_line_id': False})
@@ -317,3 +317,12 @@ class StockRule(models.Model):
res = super(StockRule, self)._push_prepare_move_copy_values(move_to_copy, new_date)
res['purchase_line_id'] = None
return res
def _get_stock_move_values(self, product_id, product_qty, product_uom, location_id, name, origin, company_id, values):
move_values = super()._get_stock_move_values(product_id, product_qty, product_uom, location_id, name, origin, company_id, values)
if values.get('supplierinfo_name'):
move_values['restrict_partner_id'] = values['supplierinfo_name'].id
elif values.get('supplierinfo_id'):
partner = values['supplierinfo_id'].name
move_values['restrict_partner_id'] = partner.id
return move_values