mirror of
https://github.com/frappe/erpnext.git
synced 2026-03-27 07:01:13 +01:00
fix(portal): User cannot create 0 qty SQ from RFQ
- The portal uses `create_supplier_quotation` for SQ creation which excludes 0 qty items
This commit is contained in:
@@ -456,11 +456,10 @@ def create_supplier_quotation(doc):
|
|||||||
|
|
||||||
def add_items(sq_doc, supplier, items):
|
def add_items(sq_doc, supplier, items):
|
||||||
for data in items:
|
for data in items:
|
||||||
if data.get("qty") > 0:
|
if isinstance(data, dict):
|
||||||
if isinstance(data, dict):
|
data = frappe._dict(data)
|
||||||
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):
|
def create_rfq_items(sq_doc, supplier, data):
|
||||||
|
|||||||
@@ -191,6 +191,23 @@ class TestRequestforQuotation(FrappeTestCase):
|
|||||||
self.assertEqual(sq.items[0].qty, 0)
|
self.assertEqual(sq.items[0].qty, 0)
|
||||||
self.assertEqual(sq.items[0].item_code, rfq.items[0].item_code)
|
self.assertEqual(sq.items[0].item_code, rfq.items[0].item_code)
|
||||||
|
|
||||||
|
@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":
|
def make_request_for_quotation(**args) -> "RequestforQuotation":
|
||||||
"""
|
"""
|
||||||
|
|||||||
Reference in New Issue
Block a user