Merge pull request #47438 from marination/iss-47422

fix(portal): User cannot create 0 qty SQ from RFQ
This commit is contained in:
Marica
2025-05-06 18:47:03 +05:30
committed by GitHub
2 changed files with 20 additions and 4 deletions

View File

@@ -456,11 +456,10 @@ def create_supplier_quotation(doc):
def add_items(sq_doc, supplier, items):
for data in items:
if data.get("qty") > 0:
if isinstance(data, dict):
data = frappe._dict(data)
if isinstance(data, dict):
data = frappe._dict(data)
create_rfq_items(sq_doc, supplier, data)
create_rfq_items(sq_doc, supplier, data)
def create_rfq_items(sq_doc, supplier, data):

View File

@@ -200,6 +200,23 @@ class TestRequestforQuotation(IntegrationTestCase):
self.assertEqual(sq.items[0].qty, 0)
self.assertEqual(sq.items[0].item_code, rfq.items[0].item_code)
@IntegrationTestCase.change_settings(
"Buying Settings",
{
"allow_zero_qty_in_request_for_quotation": 1,
"allow_zero_qty_in_supplier_quotation": 1,
},
)
def test_supplier_quotation_from_zero_qty_rfq_in_portal(self):
rfq = make_request_for_quotation(qty=0)
rfq.supplier = rfq.suppliers[0].supplier
sq_name = create_supplier_quotation(rfq)
sq = frappe.get_doc("Supplier Quotation", sq_name)
self.assertEqual(len(sq.items), 1)
self.assertEqual(sq.items[0].qty, 0)
self.assertEqual(sq.items[0].item_code, rfq.items[0].item_code)
def make_request_for_quotation(**args) -> "RequestforQuotation":
"""