diff --git a/erpnext/assets/doctype/asset/asset.js b/erpnext/assets/doctype/asset/asset.js index 55c71729bd8..bab580d617f 100644 --- a/erpnext/assets/doctype/asset/asset.js +++ b/erpnext/assets/doctype/asset/asset.js @@ -80,6 +80,12 @@ frappe.ui.form.on("Asset", { } }, + before_submit: function (frm) { + if (frm.doc.is_composite_asset && !frm.has_active_capitalization) { + frappe.throw(__("Please capitalize this asset before submitting.")); + } + }, + refresh: function (frm) { frappe.ui.form.trigger("Asset", "is_existing_asset"); frm.toggle_display("next_depreciation_date", frm.doc.docstatus < 1); @@ -197,8 +203,7 @@ frappe.ui.form.on("Asset", { }, callback: function (r) { if (!r.message) { - $(".primary-action").prop("hidden", true); - $(".form-message").text(__("Capitalize this asset to confirm")); + $(".form-message").text(__("Capitalize this asset before submitting.")); frm.add_custom_button(__("Capitalize Asset"), function () { frm.trigger("create_asset_capitalization"); @@ -538,7 +543,6 @@ frappe.ui.form.on("Asset", { callback: function (r) { var doclist = frappe.model.sync(r.message); frappe.set_route("Form", doclist[0].doctype, doclist[0].name); - $(".primary-action").prop("hidden", false); }, }); }, diff --git a/erpnext/assets/doctype/asset/asset.json b/erpnext/assets/doctype/asset/asset.json index af4d8f281e2..832f7c18e68 100644 --- a/erpnext/assets/doctype/asset/asset.json +++ b/erpnext/assets/doctype/asset/asset.json @@ -556,7 +556,8 @@ "fieldtype": "Currency", "label": "Net Purchase Amount", "mandatory_depends_on": "eval:(!doc.is_composite_asset || doc.docstatus==1)", - "options": "Company:company:default_currency" + "options": "Company:company:default_currency", + "read_only_depends_on": "eval: doc.is_composite_asset" } ], "idx": 72, @@ -600,7 +601,7 @@ "link_fieldname": "target_asset" } ], - "modified": "2025-11-04 22:39:00.817405", + "modified": "2025-12-18 16:36:40.904246", "modified_by": "Administrator", "module": "Assets", "name": "Asset",