summaryrefslogtreecommitdiff
path: root/addons/mrp_subcontracting/models
diff options
context:
space:
mode:
authorArnold Moyaux <arm@odoo.com>2019-08-14 15:13:55 +0000
committerArnold Moyaux <arm@odoo.com>2019-08-19 15:03:59 +0000
commit5b526e8756bc2389e688c68eca0eb063b256c9d9 (patch)
tree6223f1ee7bda9013f664289086849bcc12a90158 /addons/mrp_subcontracting/models
parenta6fb45d4588cb55350715ba8939af4642637b3e5 (diff)
[IMP] mrp_subcontracting: modify initial demand
Modify the initial demand for a subcontract receipt should update the delivery to the subcontractor.
Diffstat (limited to 'addons/mrp_subcontracting/models')
-rw-r--r--addons/mrp_subcontracting/models/stock_move.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/addons/mrp_subcontracting/models/stock_move.py b/addons/mrp_subcontracting/models/stock_move.py
index 71e1fd3ad25..7da6627c628 100644
--- a/addons/mrp_subcontracting/models/stock_move.py
+++ b/addons/mrp_subcontracting/models/stock_move.py
@@ -43,6 +43,12 @@ class StockMove(models.Model):
subcontractor=self.picking_id.partner_id,
)
return bom
+ def write(self, values):
+ res = super(StockMove, self).write(values)
+ if 'product_uom_qty' in values:
+ self.filtered(lambda m: m.is_subcontract and
+ m.state not in ['draft', 'cancel', 'done'])._update_subcontract_order_qty()
+ return res
def _action_confirm(self, merge=True, merge_into=False):
subcontract_details_per_picking = defaultdict(list)
@@ -62,3 +68,12 @@ class StockMove(models.Model):
for picking, subcontract_details in subcontract_details_per_picking.items():
picking._subcontracted_produce(subcontract_details)
return super(StockMove, self)._action_confirm(merge=merge, merge_into=merge_into)
+
+ def _update_subcontract_order_qty(self):
+ for move in self:
+ production = move.move_orig_ids.production_id
+ if production:
+ self.env['change.production.qty'].with_context(skip_activity=True).create({
+ 'mo_id': production.id,
+ 'product_qty': move.product_uom_qty
+ }).change_prod_qty()