mirror of
https://github.com/frappe/erpnext.git
synced 2026-05-27 08:54:45 +00:00
fix: more coderabbit issues
This commit is contained in:
@@ -176,14 +176,9 @@ erpnext.buying = {
|
|||||||
callback: (r) => {
|
callback: (r) => {
|
||||||
if (!r.message) return;
|
if (!r.message) return;
|
||||||
|
|
||||||
if (!this.frm.doc.billing_address) {
|
this.frm.set_value("billing_address", r.message.primary_address || "");
|
||||||
this.frm.set_value("billing_address", r.message.primary_address || "");
|
|
||||||
}
|
|
||||||
|
|
||||||
if (
|
if (frappe.meta.has_field(this.frm.doc.doctype, "shipping_address")) {
|
||||||
frappe.meta.has_field(this.frm.doc.doctype, "shipping_address") &&
|
|
||||||
!this.frm.doc.shipping_address
|
|
||||||
) {
|
|
||||||
this.frm.set_value("shipping_address", r.message.shipping_address || "");
|
this.frm.set_value("shipping_address", r.message.shipping_address || "");
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -1612,34 +1612,27 @@ def make_purchase_order(source_name, selected_items=None, target_doc=None):
|
|||||||
target.stock_qty = flt(source.stock_qty) - flt(source.ordered_qty)
|
target.stock_qty = flt(source.stock_qty) - flt(source.ordered_qty)
|
||||||
target.project = source_parent.project
|
target.project = source_parent.project
|
||||||
|
|
||||||
def update_item_for_packed_item(source, target, source_parent):
|
def update_item_for_packed_item(source, target, _):
|
||||||
target.qty = flt(source.qty) - flt(source.ordered_qty)
|
target.qty = flt(source.qty) - flt(source.ordered_qty)
|
||||||
|
|
||||||
def filter_items(item, supplier):
|
def filter_items(item, supplier):
|
||||||
if (
|
if (
|
||||||
item.ordered_qty < item.stock_qty
|
item.ordered_qty < item.stock_qty
|
||||||
and item.item_code in item_codes
|
|
||||||
and not is_product_bundle(item.item_code)
|
and not is_product_bundle(item.item_code)
|
||||||
|
and items_to_map.get(item.item_code) == supplier
|
||||||
):
|
):
|
||||||
item_supp_comb = next(iter(d for d in items_to_map if d["item_code"] == item.item_code), None)
|
return True
|
||||||
if item_supp_comb and item_supp_comb.get("supplier") == supplier:
|
|
||||||
items_to_map.remove(item_supp_comb)
|
|
||||||
return True
|
|
||||||
|
|
||||||
return False
|
return False
|
||||||
|
|
||||||
suppliers = [item.get("supplier") for item in selected_items if item.get("supplier")]
|
items_to_map = {
|
||||||
suppliers = list(dict.fromkeys(suppliers)) # remove duplicates while preserving order
|
item.get("item_code"): item.get("supplier") for item in selected_items if item.get("item_code")
|
||||||
|
}
|
||||||
item_codes = [item.get("item_code") for item in selected_items if item.get("item_code")]
|
item_codes = list(set(items_to_map.keys()))
|
||||||
items_to_map = [
|
suppliers = list(set(items_to_map.values()))
|
||||||
{"item_code": item.get("item_code"), "supplier": item.get("supplier")}
|
|
||||||
for item in selected_items
|
|
||||||
if item.get("item_code")
|
|
||||||
]
|
|
||||||
|
|
||||||
if not suppliers:
|
if not suppliers:
|
||||||
frappe.throw(_("Please set a Supplier against the Items to be considered in the Purchase Order."))
|
suppliers = [None]
|
||||||
|
|
||||||
purchase_orders = []
|
purchase_orders = []
|
||||||
for supplier in suppliers:
|
for supplier in suppliers:
|
||||||
@@ -1712,7 +1705,7 @@ def make_purchase_order(source_name, selected_items=None, target_doc=None):
|
|||||||
)
|
)
|
||||||
|
|
||||||
set_delivery_date(doc.items, source_name)
|
set_delivery_date(doc.items, source_name)
|
||||||
if len(suppliers) > 1:
|
if doc.supplier:
|
||||||
doc.insert()
|
doc.insert()
|
||||||
purchase_orders.append(doc)
|
purchase_orders.append(doc)
|
||||||
|
|
||||||
|
|||||||
@@ -1038,7 +1038,7 @@ class TestSalesOrder(AccountsTestMixin, IntegrationTestCase):
|
|||||||
def test_drop_shipping(self):
|
def test_drop_shipping(self):
|
||||||
from erpnext.buying.doctype.purchase_order.purchase_order import update_status
|
from erpnext.buying.doctype.purchase_order.purchase_order import update_status
|
||||||
from erpnext.selling.doctype.sales_order.sales_order import (
|
from erpnext.selling.doctype.sales_order.sales_order import (
|
||||||
make_purchase_order_for_default_supplier,
|
make_purchase_order,
|
||||||
)
|
)
|
||||||
from erpnext.selling.doctype.sales_order.sales_order import update_status as so_update_status
|
from erpnext.selling.doctype.sales_order.sales_order import update_status as so_update_status
|
||||||
|
|
||||||
@@ -1071,7 +1071,7 @@ class TestSalesOrder(AccountsTestMixin, IntegrationTestCase):
|
|||||||
so = make_sales_order(item_list=so_items, do_not_submit=True)
|
so = make_sales_order(item_list=so_items, do_not_submit=True)
|
||||||
so.submit()
|
so.submit()
|
||||||
|
|
||||||
po = make_purchase_order_for_default_supplier(so.name, selected_items=[so_items[0]])[0]
|
po = make_purchase_order(so.name, selected_items=[so_items[0]])[0]
|
||||||
po.submit()
|
po.submit()
|
||||||
|
|
||||||
dn = create_dn_against_so(so.name, delivered_qty=2)
|
dn = create_dn_against_so(so.name, delivered_qty=2)
|
||||||
@@ -1129,7 +1129,7 @@ class TestSalesOrder(AccountsTestMixin, IntegrationTestCase):
|
|||||||
|
|
||||||
def test_drop_shipping_partial_order(self):
|
def test_drop_shipping_partial_order(self):
|
||||||
from erpnext.selling.doctype.sales_order.sales_order import (
|
from erpnext.selling.doctype.sales_order.sales_order import (
|
||||||
make_purchase_order_for_default_supplier,
|
make_purchase_order,
|
||||||
)
|
)
|
||||||
from erpnext.selling.doctype.sales_order.sales_order import update_status as so_update_status
|
from erpnext.selling.doctype.sales_order.sales_order import update_status as so_update_status
|
||||||
|
|
||||||
@@ -1165,7 +1165,7 @@ class TestSalesOrder(AccountsTestMixin, IntegrationTestCase):
|
|||||||
so.submit()
|
so.submit()
|
||||||
|
|
||||||
# create po for only one item
|
# create po for only one item
|
||||||
po1 = make_purchase_order_for_default_supplier(so.name, selected_items=[so_items[0]])[0]
|
po1 = make_purchase_order(so.name, selected_items=[so_items[0]])[0]
|
||||||
po1.submit()
|
po1.submit()
|
||||||
|
|
||||||
self.assertEqual(so.customer, po1.customer)
|
self.assertEqual(so.customer, po1.customer)
|
||||||
@@ -1175,7 +1175,7 @@ class TestSalesOrder(AccountsTestMixin, IntegrationTestCase):
|
|||||||
self.assertEqual(len(po1.items), 1)
|
self.assertEqual(len(po1.items), 1)
|
||||||
|
|
||||||
# create po for remaining item
|
# create po for remaining item
|
||||||
po2 = make_purchase_order_for_default_supplier(so.name, selected_items=[so_items[1]])[0]
|
po2 = make_purchase_order(so.name, selected_items=[so_items[1]])[0]
|
||||||
po2.submit()
|
po2.submit()
|
||||||
|
|
||||||
# teardown
|
# teardown
|
||||||
@@ -1189,7 +1189,7 @@ class TestSalesOrder(AccountsTestMixin, IntegrationTestCase):
|
|||||||
def test_drop_shipping_full_for_default_suppliers(self):
|
def test_drop_shipping_full_for_default_suppliers(self):
|
||||||
"""Test if multiple POs are generated in one go against different default suppliers."""
|
"""Test if multiple POs are generated in one go against different default suppliers."""
|
||||||
from erpnext.selling.doctype.sales_order.sales_order import (
|
from erpnext.selling.doctype.sales_order.sales_order import (
|
||||||
make_purchase_order_for_default_supplier,
|
make_purchase_order,
|
||||||
)
|
)
|
||||||
|
|
||||||
if not frappe.db.exists("Item", "_Test Item for Drop Shipping 1"):
|
if not frappe.db.exists("Item", "_Test Item for Drop Shipping 1"):
|
||||||
@@ -1221,7 +1221,7 @@ class TestSalesOrder(AccountsTestMixin, IntegrationTestCase):
|
|||||||
so = make_sales_order(item_list=so_items, do_not_submit=True)
|
so = make_sales_order(item_list=so_items, do_not_submit=True)
|
||||||
so.submit()
|
so.submit()
|
||||||
|
|
||||||
purchase_orders = make_purchase_order_for_default_supplier(so.name, selected_items=so_items)
|
purchase_orders = make_purchase_order(so.name, selected_items=so_items)
|
||||||
|
|
||||||
self.assertEqual(len(purchase_orders), 2)
|
self.assertEqual(len(purchase_orders), 2)
|
||||||
self.assertEqual(purchase_orders[0].supplier, "_Test Supplier")
|
self.assertEqual(purchase_orders[0].supplier, "_Test Supplier")
|
||||||
@@ -1253,7 +1253,7 @@ class TestSalesOrder(AccountsTestMixin, IntegrationTestCase):
|
|||||||
|
|
||||||
so = make_sales_order(item_list=so_items)
|
so = make_sales_order(item_list=so_items)
|
||||||
|
|
||||||
purchase_order = make_purchase_order(so.name, selected_items=so_items)
|
purchase_order = make_purchase_order(so.name, selected_items=so_items)[0]
|
||||||
|
|
||||||
self.assertEqual(purchase_order.items[0].item_code, "_Test Bundle Item 1")
|
self.assertEqual(purchase_order.items[0].item_code, "_Test Bundle Item 1")
|
||||||
self.assertEqual(purchase_order.items[1].item_code, "_Test Bundle Item 2")
|
self.assertEqual(purchase_order.items[1].item_code, "_Test Bundle Item 2")
|
||||||
@@ -1283,7 +1283,7 @@ class TestSalesOrder(AccountsTestMixin, IntegrationTestCase):
|
|||||||
|
|
||||||
so = make_sales_order(item_list=so_items)
|
so = make_sales_order(item_list=so_items)
|
||||||
|
|
||||||
purchase_order = make_purchase_order(so.name, selected_items=so_items)
|
purchase_order = make_purchase_order(so.name, selected_items=so_items)[0]
|
||||||
purchase_order.supplier = "_Test Supplier"
|
purchase_order.supplier = "_Test Supplier"
|
||||||
purchase_order.set_warehouse = "_Test Warehouse - _TC"
|
purchase_order.set_warehouse = "_Test Warehouse - _TC"
|
||||||
purchase_order.save()
|
purchase_order.save()
|
||||||
@@ -2559,7 +2559,7 @@ class TestSalesOrder(AccountsTestMixin, IntegrationTestCase):
|
|||||||
)
|
)
|
||||||
so.submit()
|
so.submit()
|
||||||
|
|
||||||
po = make_purchase_order(so.name, selected_items=so.items)
|
po = make_purchase_order(so.name, selected_items=so.items)[0]
|
||||||
po.supplier = "_Test Supplier"
|
po.supplier = "_Test Supplier"
|
||||||
po.items[0].rate = 100
|
po.items[0].rate = 100
|
||||||
po.submit()
|
po.submit()
|
||||||
|
|||||||
Reference in New Issue
Block a user