+
+class change_production_qty(osv.osv_memory):
+ _inherit = 'change.production.qty'
+
+ def _update_product_to_produce(self, cr, uid, prod, qty, context=None):
+ bom_obj = self.pool.get('mrp.bom')
+ move_lines_obj = self.pool.get('stock.move')
+ prod_obj = self.pool.get('mrp.production')
+ for m in prod.move_created_ids:
+ if m.product_id.id == prod.product_id.id:
+ move_lines_obj.write(cr, uid, [m.id], {'product_qty': qty})
+ else:
+ for sub_product_line in prod.bom_id.sub_products:
+ if sub_product_line.product_id.id == m.product_id.id:
+ factor = prod_obj._get_subproduct_factor(cr, uid, prod.id, m.id, context=context)
+ subproduct_qty = sub_product_line.subproduct_type == 'variable' and qty * factor or sub_product_line.product_qty
+ move_lines_obj.write(cr, uid, [m.id], {'product_qty': subproduct_qty})
+