From e767591739948ca3ea00bb731a4f9d061db70b9c Mon Sep 17 00:00:00 2001 From: Marc Durepos Date: Wed, 15 Jan 2025 16:23:56 -0500 Subject: [PATCH] further work on purchase_customer_requisition --- .../models/purchase_order_line.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/purchase_customer_requisition/models/purchase_order_line.py b/purchase_customer_requisition/models/purchase_order_line.py index 10d1989..d307498 100644 --- a/purchase_customer_requisition/models/purchase_order_line.py +++ b/purchase_customer_requisition/models/purchase_order_line.py @@ -24,9 +24,19 @@ class PurchaseOrderLine(models.Model): @api.depends("order_id.requisition_id", "product_id") def _compute_requisition_id(self): for line in self: - customer = line.sale_order_id.partner_id + customer = line.sale_order_id.partner_id or line.group_id.partner_id + if not customer: + sale_order = line.order_id._get_sale_orders() + if len(sale_order) == 1: + customer = sale_order.partner_id domain = [ + "|", ("requisition_id.vendor_id", "=", line.order_id.partner_id.id), + ( + "requisition_id.vendor_id.child_ids.commercial_partner_id", + "=", + line.order_id.partner_id.id, + ), ("product_id", "=", line.product_id.id), ] requisition = self.order_id.requisition_id @@ -54,7 +64,7 @@ class PurchaseOrderLine(models.Model): == line.order_id.requisition_id ) if not line.requisition_id and requisition_lines: - line.requisition_id = requisition_lines[0] + line.requisition_id = requisition_lines[0].requisition_id else: line.requisition_id = False