diff --git a/purchase_request/__manifest__.py b/purchase_request/__manifest__.py index d7c8265afba..81a2eb97d8f 100644 --- a/purchase_request/__manifest__.py +++ b/purchase_request/__manifest__.py @@ -21,13 +21,13 @@ "data/purchase_request_sequence.xml", "data/purchase_request_data.xml", "reports/report_purchase_request.xml", + "wizard/purchase_request_line_make_purchase_order_view.xml", "views/purchase_request_view.xml", "views/purchase_request_line_view.xml", "views/purchase_request_report.xml", "views/product_template.xml", "views/purchase_order_view.xml", "views/stock_move_views.xml", - "wizard/purchase_request_line_make_purchase_order_view.xml", ], 'demo': [ "demo/purchase_request_demo.xml", diff --git a/purchase_request/tests/test_purchase_request_to_rfq.py b/purchase_request/tests/test_purchase_request_to_rfq.py index c64bd63645b..5c0a08c03e6 100644 --- a/purchase_request/tests/test_purchase_request_to_rfq.py +++ b/purchase_request/tests/test_purchase_request_to_rfq.py @@ -27,6 +27,43 @@ def setUp(self): 'product_tmpl_id': self.service_product.product_tmpl_id.id, }) + def test_wizard_default_get(self): + # Check that correct create items by purchase.request + vals = { + 'picking_type_id': self.env.ref('stock.picking_type_in').id, + 'requested_by': SUPERUSER_ID, + 'line_ids': [[0, 0, { + 'product_id': self.env.ref('product.product_product_13').id, + 'product_uom_id': self.env.ref('uom.product_uom_unit').id, + 'product_qty': 2.0, + }]], + } + purchase_request1 = self.purchase_request.create(vals) + purchase_request1.button_approved() + vals = { + 'supplier_id': self.env.ref('base.res_partner_1').id, + 'line_ids': [[0, 0, { + 'product_id': self.env.ref('product.product_product_13').id, + 'product_uom_id': self.env.ref('uom.product_uom_unit').id, + 'product_qty': 2.0, + }]], + } + purchase_request2 = self.purchase_request.create(vals) + vals = { + 'supplier_id': self.env.ref('base.res_partner_1').id, + } + purchase_request1.button_approved() + purchase_request2.button_approved() + wiz_id = self.wiz.with_context( + active_model="purchase.request", + active_ids=[purchase_request1.id, + purchase_request2.id]).create(vals) + (purchase_request1 | purchase_request2).mapped('line_ids') + self.assertEquals( + (purchase_request1 | purchase_request2).mapped('line_ids'), + wiz_id.item_ids.mapped('line_id'), + 'Should have same purchase request lines') + def test_purchase_request_to_purchase_rfq(self): vals = { 'picking_type_id': self.env.ref('stock.picking_type_in').id, @@ -264,7 +301,7 @@ def test_purchase_request_to_rfq_minimum_order_qty_existing_po(self): } wiz_id = self.wiz.with_context( active_model="purchase.request.line", - active_ids=purchase_request_line1.id).create(vals) + active_ids=[purchase_request_line1.id]).create(vals) wiz_id.make_purchase_order() po = purchase_request_line1.purchase_lines[0].order_id # Create Purchase Request @@ -291,7 +328,7 @@ def test_purchase_request_to_rfq_minimum_order_qty_existing_po(self): } wiz_id = self.wiz.with_context( active_model="purchase.request.line", - active_ids=purchase_request_line2.id).create(vals) + active_ids=[purchase_request_line2.id]).create(vals) wiz_id.make_purchase_order() # Check Purchase qty should be 6 po_line = purchase_request_line2.purchase_lines[0] diff --git a/purchase_request/views/purchase_request_view.xml b/purchase_request/views/purchase_request_view.xml index fd86a4cd247..c58419175df 100644 --- a/purchase_request/views/purchase_request_view.xml +++ b/purchase_request/views/purchase_request_view.xml @@ -23,6 +23,9 @@ type="object" class="oe_highlight" groups="purchase_request.group_purchase_request_manager"/> +