summaryrefslogtreecommitdiff
path: root/addons/sale_mrp
diff options
context:
space:
mode:
authorRémy Voet (ryv) <ryv@odoo.com>2020-04-20 16:46:26 +0200
committerSimon Lejeune <sle@openerp.com>2020-06-15 16:59:40 +0200
commit53252608d79324890860569b04d09564a86be109 (patch)
tree7dbdfca0687f869a9020bf87844ae88238a3ac20 /addons/sale_mrp
parentc660770ebd84c2c0d9e56ca5897effc6c138b827 (diff)
[REF] mrp: backorder mechanism
Allow to "backorder" a production, meaning create another manufacturing order with the quantity remaining to produce. We also use the reservation of the first order on the next ones by using `post_inventory` on the first one and moving the newly created stock moves to the backorder. We introduce a wizard similar to the one in stock. Backorders have a sub-sequence. Backorders are linked together through the procurement group. We allow creating a backorder even if workorders are running by closing them, the backorder will call `button_plan` and create its own. task-2241471
Diffstat (limited to 'addons/sale_mrp')
-rw-r--r--addons/sale_mrp/models/mrp_production.py6
-rw-r--r--addons/sale_mrp/models/sale.py6
2 files changed, 6 insertions, 6 deletions
diff --git a/addons/sale_mrp/models/mrp_production.py b/addons/sale_mrp/models/mrp_production.py
index e05fd996a2b..4d6b634ece4 100644
--- a/addons/sale_mrp/models/mrp_production.py
+++ b/addons/sale_mrp/models/mrp_production.py
@@ -12,14 +12,14 @@ class MrpProduction(models.Model):
compute='_compute_sale_order_count',
groups='sales_team.group_sale_salesman')
- @api.depends('move_dest_ids.group_id.sale_id')
+ @api.depends('procurement_group_id.mrp_production_ids.move_dest_ids.group_id.sale_id')
def _compute_sale_order_count(self):
for production in self:
- production.sale_order_count = len(production.move_dest_ids.group_id.sale_id)
+ production.sale_order_count = len(production.procurement_group_id.mrp_production_ids.move_dest_ids.group_id.sale_id)
def action_view_sale_orders(self):
self.ensure_one()
- sale_order_ids = self.move_dest_ids.group_id.sale_id.ids
+ sale_order_ids = self.procurement_group_id.mrp_production_ids.move_dest_ids.group_id.sale_id.ids
action = {
'res_model': 'sale.order',
'type': 'ir.actions.act_window',
diff --git a/addons/sale_mrp/models/sale.py b/addons/sale_mrp/models/sale.py
index 927037b9548..7bb9d14c436 100644
--- a/addons/sale_mrp/models/sale.py
+++ b/addons/sale_mrp/models/sale.py
@@ -12,14 +12,14 @@ class SaleOrder(models.Model):
compute='_compute_mrp_production_count',
groups='mrp.group_mrp_user')
- @api.depends('procurement_group_id.stock_move_ids.created_production_id')
+ @api.depends('procurement_group_id.stock_move_ids.created_production_id.procurement_group_id.mrp_production_ids')
def _compute_mrp_production_count(self):
for sale in self:
- sale.mrp_production_count = len(sale.procurement_group_id.stock_move_ids.created_production_id)
+ sale.mrp_production_count = len(sale.procurement_group_id.stock_move_ids.created_production_id.procurement_group_id.mrp_production_ids)
def action_view_mrp_production(self):
self.ensure_one()
- mrp_production_ids = self.procurement_group_id.stock_move_ids.created_production_id.ids
+ mrp_production_ids = self.procurement_group_id.stock_move_ids.created_production_id.procurement_group_id.mrp_production_ids.ids
action = {
'res_model': 'mrp.production',
'type': 'ir.actions.act_window',