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;