fix: typerror on tree doctypes - Item Group, Customer Group, Supplier Group and Territory (#38870)
* refactor: typerror on set_root_readonly
* refactor: remove 'cur_frm' usage in supplier_group
* refactor: remove 'cur_frm' usage in territory.js
* refactor: remove 'cur_frm' from sales_person.js
diff --git a/erpnext/setup/doctype/customer_group/customer_group.js b/erpnext/setup/doctype/customer_group/customer_group.js
index 3c81b02..e352818 100644
--- a/erpnext/setup/doctype/customer_group/customer_group.js
+++ b/erpnext/setup/doctype/customer_group/customer_group.js
@@ -1,21 +1,6 @@
// Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
// License: GNU General Public License v3. See license.txt
-
-cur_frm.cscript.refresh = function(doc, cdt, cdn) {
- cur_frm.cscript.set_root_readonly(doc);
-}
-
-cur_frm.cscript.set_root_readonly = function(doc) {
- // read-only for root customer group
- if(!doc.parent_customer_group && !doc.__islocal) {
- cur_frm.set_read_only();
- cur_frm.set_intro(__("This is a root customer group and cannot be edited."));
- } else {
- cur_frm.set_intro(null);
- }
-}
-
frappe.ui.form.on("Customer Group", {
setup: function(frm){
frm.set_query('parent_customer_group', function (doc) {
@@ -48,5 +33,17 @@
}
}
});
- }
+ },
+ refresh: function(frm) {
+ frm.trigger("set_root_readonly");
+ },
+ set_root_readonly: function(frm) {
+ // read-only for root customer group
+ if(!frm.doc.parent_customer_group && !frm.doc.__islocal) {
+ frm.set_read_only();
+ frm.set_intro(__("This is a root customer group and cannot be edited."));
+ } else {
+ frm.set_intro(null);
+ }
+ },
});
diff --git a/erpnext/setup/doctype/sales_person/sales_person.js b/erpnext/setup/doctype/sales_person/sales_person.js
index d86a8f3..f0d9aa8 100644
--- a/erpnext/setup/doctype/sales_person/sales_person.js
+++ b/erpnext/setup/doctype/sales_person/sales_person.js
@@ -11,6 +11,7 @@
frm.dashboard.add_indicator(__('Total Contribution Amount Against Invoices: {0}',
[format_currency(info.allocated_amount_against_invoice, info.currency)]), 'blue');
}
+ frm.trigger("set_root_readonly");
},
setup: function(frm) {
@@ -27,22 +28,18 @@
'Sales Order': () => frappe.new_doc("Sales Order")
.then(() => frm.add_child("sales_team", {"sales_person": frm.doc.name}))
}
+ },
+ set_root_readonly: function(frm) {
+ // read-only for root
+ if(!frm.doc.parent_sales_person && !frm.doc.__islocal) {
+ frm.set_read_only();
+ frm.set_intro(__("This is a root sales person and cannot be edited."));
+ } else {
+ frm.set_intro(null);
+ }
}
});
-cur_frm.cscript.refresh = function(doc, cdt, cdn) {
- cur_frm.cscript.set_root_readonly(doc);
-}
-
-cur_frm.cscript.set_root_readonly = function(doc) {
- // read-only for root
- if(!doc.parent_sales_person && !doc.__islocal) {
- cur_frm.set_read_only();
- cur_frm.set_intro(__("This is a root sales person and cannot be edited."));
- } else {
- cur_frm.set_intro(null);
- }
-}
//get query select sales person
cur_frm.fields_dict['parent_sales_person'].get_query = function(doc, cdt, cdn) {
diff --git a/erpnext/setup/doctype/supplier_group/supplier_group.js b/erpnext/setup/doctype/supplier_group/supplier_group.js
index 3362929..c697a99 100644
--- a/erpnext/setup/doctype/supplier_group/supplier_group.js
+++ b/erpnext/setup/doctype/supplier_group/supplier_group.js
@@ -1,21 +1,6 @@
// Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and contributors
// For license information, please see license.txt
-cur_frm.cscript.refresh = function(doc) {
- cur_frm.set_intro(doc.__islocal ? "" : __("There is nothing to edit."));
- cur_frm.cscript.set_root_readonly(doc);
-};
-
-cur_frm.cscript.set_root_readonly = function(doc) {
- // read-only for root customer group
- if(!doc.parent_supplier_group && !doc.__islocal) {
- cur_frm.set_read_only();
- cur_frm.set_intro(__("This is a root supplier group and cannot be edited."));
- } else {
- cur_frm.set_intro(null);
- }
-};
-
frappe.ui.form.on("Supplier Group", {
setup: function(frm){
frm.set_query('parent_supplier_group', function (doc) {
@@ -48,5 +33,17 @@
}
}
});
+ },
+ refresh: function(frm) {
+ frm.set_intro(frm.doc.__islocal ? "" : __("There is nothing to edit."));
+ frm.trigger("set_root_readonly");
+ },
+ set_root_readonly: function(frm) {
+ if(!frm.doc.parent_supplier_group && !frm.doc.__islocal) {
+ frm.trigger("set_read_only");
+ frm.set_intro(__("This is a root supplier group and cannot be edited."));
+ } else {
+ frm.set_intro(null);
+ }
}
});
diff --git a/erpnext/setup/doctype/territory/territory.js b/erpnext/setup/doctype/territory/territory.js
index 3caf814..e11d20b 100644
--- a/erpnext/setup/doctype/territory/territory.js
+++ b/erpnext/setup/doctype/territory/territory.js
@@ -11,23 +11,22 @@
}
}
};
+ },
+ refresh: function(frm) {
+ frm.trigger("set_root_readonly");
+ },
+ set_root_readonly: function(frm) {
+ // read-only for root territory
+ if(!frm.doc.parent_territory && !frm.doc.__islocal) {
+ frm.set_read_only();
+ frm.set_intro(__("This is a root territory and cannot be edited."));
+ } else {
+ frm.set_intro(null);
+ }
}
+
});
-cur_frm.cscript.refresh = function(doc, cdt, cdn) {
- cur_frm.cscript.set_root_readonly(doc);
-}
-
-cur_frm.cscript.set_root_readonly = function(doc) {
- // read-only for root territory
- if(!doc.parent_territory && !doc.__islocal) {
- cur_frm.set_read_only();
- cur_frm.set_intro(__("This is a root territory and cannot be edited."));
- } else {
- cur_frm.set_intro(null);
- }
-}
-
//get query select territory
cur_frm.fields_dict['parent_territory'].get_query = function(doc,cdt,cdn) {
return{