From 6123cc912cd0878ab83c5ef379ea54b043e62d89 Mon Sep 17 00:00:00 2001 From: Goffin Simon Date: Tue, 13 Nov 2018 10:18:14 +0000 Subject: [PATCH] [FIX]purchase_requisition: Creating requistions from OP Steps to reproduce the bug: - Create a product : stockable + purchase : propose a call for tenders + reordering rule (qty min 0, max 0, multiple 1) - Create a SO for that product. - Run the scheduler once : a requistion is generated (Purchases > Purchase > Purchase Agreements), which is normal behavior - Run the scheduler a second time Bug: A new requistion was generated for the same product, by the same reordering rule opw:1892950 closes odoo/odoo#28611 --- .../models/purchase_requisition.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/addons/purchase_requisition/models/purchase_requisition.py b/addons/purchase_requisition/models/purchase_requisition.py index 650d442da1a..c752cd9189f 100644 --- a/addons/purchase_requisition/models/purchase_requisition.py +++ b/addons/purchase_requisition/models/purchase_requisition.py @@ -337,3 +337,14 @@ class ProcurementRule(models.Model): values['picking_type_id'] = self.picking_type_id.id self.env['purchase.requisition'].create(values) return True + +class Orderpoint(models.Model): + _inherit = "stock.warehouse.orderpoint" + + def _quantity_in_progress(self): + res = super(Orderpoint, self)._quantity_in_progress() + for op in self: + for pr in self.env['purchase.requisition'].search([('state','=','draft'),('origin','=',op.name)]): + for prline in pr.line_ids.filtered(lambda l: l.product_id.id == op.product_id.id): + res[op.id] += prline.product_uom_id._compute_quantity(prline.product_qty, op.product_uom, round=False) + return res