diff --git a/purchase_customer_requisition/__manifest__.py b/purchase_customer_requisition/__manifest__.py index 63bd0bd..f6bbe42 100644 --- a/purchase_customer_requisition/__manifest__.py +++ b/purchase_customer_requisition/__manifest__.py @@ -1,26 +1,28 @@ { - 'name': 'Purchase Customer Requisition', - 'version': '1.0', - 'category': 'Purchase', - 'summary': 'Link customer requisition references to purchase orders', - 'description': """ + "name": "Purchase Customer Requisition", + "version": "1.0", + "category": "Purchase", + "summary": "Link customer requisition references to purchase orders", + "description": """ This module allows to: * Store customer-specific requisition references for suppliers * Automatically add these references to purchase order lines * Track customer requisition numbers across purchase orders """, - 'license': 'LGPL-3', - 'depends': [ - 'purchase_stock', - 'sale_purchase', - 'purchase_requisition' + "license": "LGPL-3", + "depends": [ + "sale", + "purchase", + "stock", + "purchase_requisition_stock", + "purchase_requisition", ], - 'data': [ - 'security/ir.model.access.csv', - 'views/purchase_views.xml', - 'views/purchase_requisition_views.xml', + "data": [ + "security/ir.model.access.csv", + "views/purchase_views.xml", + "views/purchase_requisition_views.xml", ], - 'installable': True, - 'application': False, - 'auto_install': False, -} \ No newline at end of file + "installable": True, + "application": False, + "auto_install": False, +} diff --git a/purchase_customer_requisition/models/purchase_order_line.py b/purchase_customer_requisition/models/purchase_order_line.py index d307498..c596d61 100644 --- a/purchase_customer_requisition/models/purchase_order_line.py +++ b/purchase_customer_requisition/models/purchase_order_line.py @@ -62,7 +62,7 @@ class PurchaseOrderLine(models.Model): line.requisition_id = requisition_lines.filtered( lambda req_line: req_line.requisition_id == line.order_id.requisition_id - ) + ).requisition_id if not line.requisition_id and requisition_lines: line.requisition_id = requisition_lines[0].requisition_id else: diff --git a/purchase_customer_requisition/tests/test_purchase_order.py b/purchase_customer_requisition/tests/test_purchase_order.py index c0e6f6a..a03a623 100644 --- a/purchase_customer_requisition/tests/test_purchase_order.py +++ b/purchase_customer_requisition/tests/test_purchase_order.py @@ -19,13 +19,12 @@ class TestPurchaseOrder(TransactionCase): { "name": "SuperProduct", "is_storable": True, - "route_ids": [(6, 0, (cls.mto_route + cls.buy_route).ids)], + "route_ids": [Command.set((cls.mto_route + cls.buy_route).ids)], "seller_ids": [ - ( - 0, - 0, + Command.create( { "partner_id": cls.supplier.id, + "price": 1000, }, ) ], @@ -36,36 +35,18 @@ class TestPurchaseOrder(TransactionCase): { "name": "SuperProduct2", "is_storable": True, - "route_ids": [(6, 0, (cls.mto_route + cls.buy_route).ids)], + "route_ids": [Command.set((cls.mto_route + cls.buy_route).ids)], "seller_ids": [ - ( - 0, - 0, + Command.create( { "partner_id": cls.supplier.id, + "price": 2000, }, ) ], } ) - cls.env["product.supplierinfo"].create( - [ - { - "partner_id": cls.supplier.id, - "product_id": cls.product_1.id, - "product_tmpl_id": cls.product_1.product_tmpl_id.id, - "price": 2000, - }, - { - "partner_id": cls.supplier.id, - "product_id": cls.product_2.id, - "product_tmpl_id": cls.product_1.product_tmpl_id.id, - "price": 3000, - }, - ] - ) - cls.agreement_1 = cls.env["purchase.requisition"].create( { "name": "ATRACK 123", @@ -128,7 +109,7 @@ class TestPurchaseOrder(TransactionCase): ) sale_order.action_confirm() - purchase_line = sale_order.order_line[0].purchase_line_ids - self.assertTrue(purchase_line) + self.assertTrue(sale_order._get_purchase_orders()) + purchase_line = sale_order._get_purchase_orders()[0].order_line[0] self.assertEqual(purchase_line.order_id.partner_id, self.supplier) self.assertEqual(purchase_line.requisition_id, self.agreement_1)