From 5895ed0ee967546cb4ccb2766f8361082df06d09 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) --- 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 92ceccca32a..95a8c679623 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 5c884bea64c..c73632ee38e 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 = { @@ -83,6 +85,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) { @@ -99,6 +103,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;