summaryrefslogtreecommitdiff
path: root/addons/mrp_subcontracting/models
diff options
context:
space:
mode:
authorArnold Moyaux <arm@odoo.com>2019-08-06 13:44:23 +0000
committerArnold Moyaux <arm@odoo.com>2019-08-19 15:03:59 +0000
commit4c4a7879e992c6ad20f1339b67bfc24edbbd724f (patch)
treeea14785b09d57520302e893c08b787932bd1dd74 /addons/mrp_subcontracting/models
parenta29d3e5270b8b9af71a4cd4074a9feeebd8c5307 (diff)
[ADD] mrp_subcontracting_dropshipping
Allow to do a dropshipping with a subcontractor. If the product uses the routes drophipping and have a subcontracting BoM. Then a PO for the subcontractors will genrate a need in the subcontracting location for the required components. A module is needed because the picking_type_id for dropshipping do not have a warehouse_id. The warehouse_id is needed in order to know from which warehouse the subcontracting components should be deliver.
Diffstat (limited to 'addons/mrp_subcontracting/models')
-rw-r--r--addons/mrp_subcontracting/models/stock_picking.py5
1 files changed, 4 insertions, 1 deletions
diff --git a/addons/mrp_subcontracting/models/stock_picking.py b/addons/mrp_subcontracting/models/stock_picking.py
index 012282ec98b..13526ad2e5a 100644
--- a/addons/mrp_subcontracting/models/stock_picking.py
+++ b/addons/mrp_subcontracting/models/stock_picking.py
@@ -64,6 +64,9 @@ class StockPicking(models.Model):
self.ensure_one()
return self.move_lines.mapped('move_orig_ids.production_id')
+ def _get_warehouse(self, subcontract_move):
+ return subcontract_move.warehouse_id or self.picking_type_id.warehouse_id
+
def _prepare_subcontract_mo_vals(self, subcontract_move, bom):
subcontract_move.ensure_one()
group = self.env['procurement.group'].create({
@@ -71,7 +74,7 @@ class StockPicking(models.Model):
'partner_id': self.partner_id.id,
})
product = subcontract_move.product_id
- warehouse = subcontract_move.warehouse_id or self.picking_type_id.warehouse_id
+ warehouse = self._get_warehouse(subcontract_move)
vals = {
'procurement_group_id': group.id,
'product_id': product.id,