feat: alert when Required By falls back to today

Items whose requested date has passed silently got today as Required By, which
is a date the buyer never asked for. A toast now says so.

(cherry picked from commit 53e09dfdd6)
This commit is contained in:
Mihir Kandoi
2026-08-01 08:52:23 +05:30
committed by Mergify
parent 5aaefec747
commit 1adeb66bdc

View File

@@ -227,6 +227,7 @@ def make_purchase_orders_by_supplier(source_name: str, item_suppliers: str | lis
items_by_supplier.setdefault(row.supplier, {})[row.material_request_item] = flt(row.qty)
purchase_orders = []
is_rescheduled = False
for supplier, requested_qty in items_by_supplier.items():
purchase_order = make_purchase_order(
source_name,
@@ -237,11 +238,21 @@ def make_purchase_orders_by_supplier(source_name: str, item_suppliers: str | lis
},
)
for item in purchase_order.items:
item.schedule_date = item.schedule_date or nowdate()
if not item.schedule_date:
item.schedule_date = nowdate()
is_rescheduled = True
purchase_order.insert()
purchase_orders.append(purchase_order.name)
if is_rescheduled:
frappe.toast(
_("{0} was set to today for items whose requested date has passed").format(
_(frappe.get_meta("Purchase Order Item").get_label("schedule_date"))
),
indicator="orange",
)
frappe.msgprint(
_("{0} created").format(
comma_and([get_link_to_form("Purchase Order", name) for name in purchase_orders])