From 7f55f421ab261d1dc94d9adad8640beaf3e1a198 Mon Sep 17 00:00:00 2001 From: Marc-Constantin Enke Date: Fri, 29 Aug 2025 11:07:37 +0200 Subject: [PATCH 1/2] fix: remove ignore_permissions --- erpnext/accounts/doctype/party_link/party_link.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/erpnext/accounts/doctype/party_link/party_link.py b/erpnext/accounts/doctype/party_link/party_link.py index 16484fc4bb9..1ed837eada7 100644 --- a/erpnext/accounts/doctype/party_link/party_link.py +++ b/erpnext/accounts/doctype/party_link/party_link.py @@ -74,6 +74,6 @@ def create_party_link(primary_role, primary_party, secondary_party): party_link.secondary_role = "Customer" if primary_role == "Supplier" else "Supplier" party_link.secondary_party = secondary_party - party_link.save(ignore_permissions=True) + party_link.save() return party_link From 00fd1d2f26f5f58649036edd4646038a730f9129 Mon Sep 17 00:00:00 2001 From: Marc-Constantin Enke Date: Fri, 29 Aug 2025 11:09:22 +0200 Subject: [PATCH 2/2] feat: add permission check for custom button --- erpnext/buying/doctype/supplier/supplier.js | 5 ++++- erpnext/selling/doctype/customer/customer.js | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/erpnext/buying/doctype/supplier/supplier.js b/erpnext/buying/doctype/supplier/supplier.js index 6649dec36c8..1486ecc0e53 100644 --- a/erpnext/buying/doctype/supplier/supplier.js +++ b/erpnext/buying/doctype/supplier/supplier.js @@ -133,7 +133,10 @@ frappe.ui.form.on("Supplier", { __("Actions") ); - if (cint(frappe.defaults.get_default("enable_common_party_accounting"))) { + if ( + cint(frappe.defaults.get_default("enable_common_party_accounting")) && + frappe.model.can_create("Party Link") + ) { frm.add_custom_button( __("Link with Customer"), function () { diff --git a/erpnext/selling/doctype/customer/customer.js b/erpnext/selling/doctype/customer/customer.js index b04eb8eb60d..230472a6c29 100644 --- a/erpnext/selling/doctype/customer/customer.js +++ b/erpnext/selling/doctype/customer/customer.js @@ -190,7 +190,10 @@ frappe.ui.form.on("Customer", { __("Actions") ); - if (cint(frappe.defaults.get_default("enable_common_party_accounting"))) { + if ( + cint(frappe.defaults.get_default("enable_common_party_accounting")) && + frappe.model.can_create("Party Link") + ) { frm.add_custom_button( __("Link with Supplier"), function () {