From 2dc2a04522a9cd8957cb9c1bb9c2a06f51159c9b Mon Sep 17 00:00:00 2001 From: Pandiyan P Date: Fri, 4 Sep 2026 14:31:23 +0530 Subject: [PATCH] fix: prevent duplicate Batch messages and Project links (#58705) (cherry picked from commit 5895ed0ee967546cb4ccb2766f8361082df06d09) --- erpnext/projects/doctype/project/project.js | 6 +++--- erpnext/stock/doctype/batch/batch.js | 8 ++++++++ 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/erpnext/projects/doctype/project/project.js b/erpnext/projects/doctype/project/project.js index c110857e935..a44acd357db 100644 --- a/erpnext/projects/doctype/project/project.js +++ b/erpnext/projects/doctype/project/project.js @@ -67,9 +67,9 @@ frappe.ui.form.on("Project", { }, refresh: function (frm) { - if (frm.doc.__islocal) { - frm.web_link && frm.web_link.remove(); - } else { + frm.web_link && frm.web_link.closest(".user-action-row").remove(); + + if (!frm.doc.__islocal) { frm.add_web_link("/projects?project=" + encodeURIComponent(frm.doc.name)); frm.trigger("show_dashboard"); diff --git a/erpnext/stock/doctype/batch/batch.js b/erpnext/stock/doctype/batch/batch.js index da2a083252b..8cdd38c0de7 100644 --- a/erpnext/stock/doctype/batch/batch.js +++ b/erpnext/stock/doctype/batch/batch.js @@ -14,6 +14,8 @@ frappe.ui.form.on("Batch", { }); }, refresh: (frm) => { + frm.batch_dashboard_request_id = (frm.batch_dashboard_request_id || 0) + 1; + if (!frm.is_new()) { frm.add_custom_button(__("View Ledger"), () => { frappe.route_options = { @@ -57,6 +59,8 @@ frappe.ui.form.on("Batch", { ); }, make_dashboard: (frm) => { + const request_id = frm.batch_dashboard_request_id; + if (!frm.is_new()) { let for_stock_levels = 0; if (!frm.doc.batch_qty && frm.doc.expiry_date) { @@ -73,6 +77,10 @@ frappe.ui.form.on("Batch", { ignore_reserved_stock: 1, }, callback: (r) => { + if (request_id !== frm.batch_dashboard_request_id) { + return; + } + if (!r.message || r.message.length === 0) { frm.dashboard.add_comment(__("No stock available for this batch."), "Blue", true); return;