Merge pull request #13746 from Zlash65/supplier-group
[Enhance] Rename Supplier Type to Supplier Group - tree structure implemented
diff --git a/erpnext/accounts/doctype/opening_invoice_creation_tool/opening_invoice_creation_tool.py b/erpnext/accounts/doctype/opening_invoice_creation_tool/opening_invoice_creation_tool.py
index 753540e..5712bf8 100644
--- a/erpnext/accounts/doctype/opening_invoice_creation_tool/opening_invoice_creation_tool.py
+++ b/erpnext/accounts/doctype/opening_invoice_creation_tool/opening_invoice_creation_tool.py
@@ -120,12 +120,12 @@
if party_type == "Customer":
party_doc.customer_name = party
else:
- supplier_type = frappe.db.get_single_value("Buying Settings", "supplier_type")
- if not supplier_type:
- frappe.throw(_("Please Set Supplier Type in Buying Settings."))
+ supplier_group = frappe.db.get_single_value("Buying Settings", "supplier_group")
+ if not supplier_group:
+ frappe.throw(_("Please Set Supplier Group in Buying Settings."))
party_doc.supplier_name = party
- party_doc.supplier_type = supplier_type
+ party_doc.supplier_group = supplier_group
party_doc.flags.ignore_mandatory = True
party_doc.save(ignore_permissions=True)
diff --git a/erpnext/accounts/doctype/pricing_rule/pricing_rule.js b/erpnext/accounts/doctype/pricing_rule/pricing_rule.js
index dcbf354..4be09de 100644
--- a/erpnext/accounts/doctype/pricing_rule/pricing_rule.js
+++ b/erpnext/accounts/doctype/pricing_rule/pricing_rule.js
@@ -33,7 +33,7 @@
${__("Pricing Rule is first selected based on 'Apply On' field, which can be Item, Item Group or Brand.")}
</li>
<li>
- ${__("Then Pricing Rules are filtered out based on Customer, Customer Group, Territory, Supplier, Supplier Type, Campaign, Sales Partner etc.")}
+ ${__("Then Pricing Rules are filtered out based on Customer, Customer Group, Territory, Supplier, Supplier Group, Campaign, Sales Partner etc.")}
</li>
<li>
${__('Pricing Rules are further filtered based on quantity.')}
@@ -51,7 +51,7 @@
${__('Customer > Customer Group > Territory')}
</li>
<li>
- ${__('Supplier > Supplier Type')}
+ ${__('Supplier > Supplier Group')}
</li>
</ul>
</li>
@@ -75,7 +75,7 @@
options = $.merge(options, ["Customer", "Customer Group", "Territory", "Sales Partner", "Campaign"]);
}
if(cur_frm.doc.buying) {
- $.merge(options, ["Supplier", "Supplier Type"]);
+ $.merge(options, ["Supplier", "Supplier Group"]);
}
set_field_options("applicable_for", options.join("\n"));
diff --git a/erpnext/accounts/doctype/pricing_rule/pricing_rule.json b/erpnext/accounts/doctype/pricing_rule/pricing_rule.json
index 1c30fa4..ac59904 100644
--- a/erpnext/accounts/doctype/pricing_rule/pricing_rule.json
+++ b/erpnext/accounts/doctype/pricing_rule/pricing_rule.json
@@ -39,6 +39,7 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
+ "translatable": 0,
"unique": 0
},
{
@@ -69,6 +70,7 @@
"reqd": 1,
"search_index": 0,
"set_only_once": 0,
+ "translatable": 0,
"unique": 0
},
{
@@ -100,6 +102,7 @@
"reqd": 1,
"search_index": 0,
"set_only_once": 0,
+ "translatable": 0,
"unique": 0
},
{
@@ -131,6 +134,7 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
+ "translatable": 0,
"unique": 0
},
{
@@ -162,6 +166,7 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
+ "translatable": 0,
"unique": 0
},
{
@@ -193,6 +198,7 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
+ "translatable": 0,
"unique": 0
},
{
@@ -222,6 +228,7 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
+ "translatable": 0,
"unique": 0
},
{
@@ -253,6 +260,7 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
+ "translatable": 0,
"unique": 0
},
{
@@ -282,6 +290,7 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
+ "translatable": 0,
"unique": 0
},
{
@@ -311,6 +320,7 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
+ "translatable": 0,
"unique": 0
},
{
@@ -340,6 +350,7 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
+ "translatable": 0,
"unique": 0
},
{
@@ -369,6 +380,7 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
+ "translatable": 0,
"unique": 0
},
{
@@ -398,6 +410,7 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
+ "translatable": 0,
"unique": 0
},
{
@@ -419,7 +432,7 @@
"label": "Applicable For",
"length": 0,
"no_copy": 0,
- "options": "\nCustomer\nCustomer Group\nTerritory\nSales Partner\nCampaign\nSupplier\nSupplier Type",
+ "options": "\nCustomer\nCustomer Group\nTerritory\nSales Partner\nCampaign\nSupplier\nSupplier Group",
"permlevel": 0,
"print_hide": 0,
"print_hide_if_no_value": 0,
@@ -429,6 +442,7 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
+ "translatable": 0,
"unique": 0
},
{
@@ -460,6 +474,7 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
+ "translatable": 0,
"unique": 0
},
{
@@ -491,6 +506,7 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
+ "translatable": 0,
"unique": 0
},
{
@@ -522,6 +538,7 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
+ "translatable": 0,
"unique": 0
},
{
@@ -553,6 +570,7 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
+ "translatable": 0,
"unique": 0
},
{
@@ -584,6 +602,7 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
+ "translatable": 0,
"unique": 0
},
{
@@ -615,6 +634,7 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
+ "translatable": 0,
"unique": 0
},
{
@@ -623,8 +643,8 @@
"bold": 0,
"collapsible": 0,
"columns": 0,
- "depends_on": "eval:doc.applicable_for==\"Supplier Type\"",
- "fieldname": "supplier_type",
+ "depends_on": "eval:doc.applicable_for==\"Supplier Group\"",
+ "fieldname": "supplier_group",
"fieldtype": "Link",
"hidden": 0,
"ignore_user_permissions": 0,
@@ -633,10 +653,10 @@
"in_global_search": 0,
"in_list_view": 0,
"in_standard_filter": 0,
- "label": "Supplier Type",
+ "label": "Supplier Group",
"length": 0,
"no_copy": 0,
- "options": "Supplier Type",
+ "options": "Supplier Group",
"permlevel": 0,
"print_hide": 0,
"print_hide_if_no_value": 0,
@@ -646,6 +666,7 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
+ "translatable": 0,
"unique": 0
},
{
@@ -675,6 +696,7 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
+ "translatable": 0,
"unique": 0
},
{
@@ -704,6 +726,7 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
+ "translatable": 0,
"unique": 0
},
{
@@ -733,6 +756,7 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
+ "translatable": 0,
"unique": 0
},
{
@@ -762,6 +786,7 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
+ "translatable": 0,
"unique": 0
},
{
@@ -791,6 +816,7 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
+ "translatable": 0,
"unique": 0
},
{
@@ -821,6 +847,7 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
+ "translatable": 0,
"unique": 0
},
{
@@ -850,6 +877,7 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
+ "translatable": 0,
"unique": 0
},
{
@@ -878,6 +906,7 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
+ "translatable": 0,
"unique": 0
},
{
@@ -908,6 +937,7 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
+ "translatable": 0,
"unique": 0
},
{
@@ -940,6 +970,7 @@
"reqd": 1,
"search_index": 0,
"set_only_once": 0,
+ "translatable": 0,
"unique": 0
},
{
@@ -971,6 +1002,7 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
+ "translatable": 0,
"unique": 0
},
{
@@ -1003,6 +1035,7 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
+ "translatable": 0,
"unique": 0
},
{
@@ -1032,6 +1065,7 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
+ "translatable": 0,
"unique": 0
},
{
@@ -1064,6 +1098,7 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
+ "translatable": 0,
"unique": 0
},
{
@@ -1093,6 +1128,7 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
+ "translatable": 0,
"unique": 0
},
{
@@ -1124,6 +1160,7 @@
"reqd": 1,
"search_index": 0,
"set_only_once": 0,
+ "translatable": 0,
"unique": 0
},
{
@@ -1152,6 +1189,7 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
+ "translatable": 0,
"unique": 0
},
{
@@ -1182,6 +1220,7 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
+ "translatable": 0,
"unique": 0
},
{
@@ -1212,6 +1251,7 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
+ "translatable": 0,
"unique": 0
},
{
@@ -1243,6 +1283,7 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
+ "translatable": 0,
"unique": 0
},
{
@@ -1273,6 +1314,7 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
+ "translatable": 0,
"unique": 0
},
{
@@ -1302,6 +1344,7 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
+ "translatable": 0,
"unique": 0
}
],
@@ -1316,7 +1359,7 @@
"issingle": 0,
"istable": 0,
"max_attachments": 0,
- "modified": "2018-02-12 17:21:22.559996",
+ "modified": "2018-04-19 07:52:41.024618",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Pricing Rule",
@@ -1324,7 +1367,6 @@
"permissions": [
{
"amend": 0,
- "apply_user_permissions": 0,
"cancel": 0,
"create": 1,
"delete": 1,
@@ -1344,7 +1386,6 @@
},
{
"amend": 0,
- "apply_user_permissions": 0,
"cancel": 0,
"create": 1,
"delete": 1,
@@ -1364,7 +1405,6 @@
},
{
"amend": 0,
- "apply_user_permissions": 0,
"cancel": 0,
"create": 1,
"delete": 1,
@@ -1384,7 +1424,6 @@
},
{
"amend": 0,
- "apply_user_permissions": 0,
"cancel": 0,
"create": 1,
"delete": 1,
@@ -1404,7 +1443,6 @@
},
{
"amend": 0,
- "apply_user_permissions": 0,
"cancel": 0,
"create": 1,
"delete": 1,
diff --git a/erpnext/accounts/doctype/pricing_rule/pricing_rule.py b/erpnext/accounts/doctype/pricing_rule/pricing_rule.py
index e047b6d..9b73fcd 100644
--- a/erpnext/accounts/doctype/pricing_rule/pricing_rule.py
+++ b/erpnext/accounts/doctype/pricing_rule/pricing_rule.py
@@ -41,7 +41,7 @@
throw(_("Selling must be checked, if Applicable For is selected as {0}"
.format(self.applicable_for)))
- if not self.buying and self.applicable_for in ["Supplier", "Supplier Type"]:
+ if not self.buying and self.applicable_for in ["Supplier", "Supplier Group"]:
throw(_("Buying must be checked, if Applicable For is selected as {0}"
.format(self.applicable_for)))
@@ -85,7 +85,7 @@
"customer_group": "something",
"territory": "something",
"supplier": "something",
- "supplier_type": "something",
+ "supplier_group": "something",
"currency": "something",
"conversion_rate": "something",
"price_list": "something",
@@ -165,10 +165,10 @@
if customer:
args.customer_group, args.territory = customer
- args.supplier = args.supplier_type = None
+ args.supplier = args.supplier_group = None
- elif args.supplier and not args.supplier_type:
- args.supplier_type = frappe.db.get_value("Supplier", args.supplier, "supplier_type")
+ elif args.supplier and not args.supplier_group:
+ args.supplier_group = frappe.db.get_value("Supplier", args.supplier, "supplier_group")
args.customer = args.customer_group = args.territory = None
pricing_rules = get_pricing_rules(args)
@@ -258,7 +258,7 @@
conditions = item_variant_condition = ""
values = {"item_code": args.get("item_code"), "brand": args.get("brand")}
- for field in ["company", "customer", "supplier", "supplier_type", "campaign", "sales_partner"]:
+ for field in ["company", "customer", "supplier", "supplier_group", "campaign", "sales_partner"]:
if args.get(field):
conditions += " and ifnull("+field+", '') in (%("+field+")s, '')"
values[field] = args.get(field)
@@ -324,11 +324,11 @@
# apply internal priority
all_fields = ["item_code", "item_group", "brand", "customer", "customer_group", "territory",
- "supplier", "supplier_type", "campaign", "sales_partner", "variant_of"]
+ "supplier", "supplier_group", "campaign", "sales_partner", "variant_of"]
if len(pricing_rules) > 1:
for field_set in [["item_code", "variant_of", "item_group", "brand"],
- ["customer", "customer_group", "territory"], ["supplier", "supplier_type"]]:
+ ["customer", "customer_group", "territory"], ["supplier", "supplier_group"]]:
remaining_fields = list(set(all_fields) - set(field_set))
if if_all_rules_same(pricing_rules, remaining_fields):
pricing_rules = apply_internal_priority(pricing_rules, field_set, args)
diff --git a/erpnext/accounts/doctype/tax_rule/tax_rule.js b/erpnext/accounts/doctype/tax_rule/tax_rule.js
index 84c42a3..370890e 100644
--- a/erpnext/accounts/doctype/tax_rule/tax_rule.js
+++ b/erpnext/accounts/doctype/tax_rule/tax_rule.js
@@ -2,7 +2,7 @@
// License: GNU General Public License v3. See license.txt
cur_frm.add_fetch("customer", "customer_group", "customer_group" );
-cur_frm.add_fetch("supplier", "supplier_type", "supplier_type" );
+cur_frm.add_fetch("supplier", "supplier_group_name", "supplier_group" );
frappe.ui.form.on("Tax Rule", "tax_type", function(frm) {
frm.toggle_reqd("sales_tax_template", frm.doc.tax_type=="Sales");
diff --git a/erpnext/accounts/doctype/tax_rule/tax_rule.json b/erpnext/accounts/doctype/tax_rule/tax_rule.json
index a746daf..56ca055 100644
--- a/erpnext/accounts/doctype/tax_rule/tax_rule.json
+++ b/erpnext/accounts/doctype/tax_rule/tax_rule.json
@@ -1,5 +1,6 @@
{
"allow_copy": 0,
+ "allow_guest_to_view": 0,
"allow_import": 1,
"allow_rename": 0,
"autoname": "TR.####",
@@ -12,6 +13,7 @@
"editable_grid": 0,
"fields": [
{
+ "allow_bulk_edit": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
@@ -40,9 +42,11 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
+ "translatable": 0,
"unique": 0
},
{
+ "allow_bulk_edit": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
@@ -69,9 +73,11 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
+ "translatable": 0,
"unique": 0
},
{
+ "allow_bulk_edit": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
@@ -97,9 +103,11 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
+ "translatable": 0,
"unique": 0
},
{
+ "allow_bulk_edit": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
@@ -128,9 +136,11 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
+ "translatable": 0,
"unique": 0
},
{
+ "allow_bulk_edit": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
@@ -159,9 +169,11 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
+ "translatable": 0,
"unique": 0
},
{
+ "allow_bulk_edit": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
@@ -188,9 +200,11 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
+ "translatable": 0,
"unique": 0
},
{
+ "allow_bulk_edit": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
@@ -219,9 +233,11 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
+ "translatable": 0,
"unique": 0
},
{
+ "allow_bulk_edit": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
@@ -250,9 +266,11 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
+ "translatable": 0,
"unique": 0
},
{
+ "allow_bulk_edit": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
@@ -279,9 +297,11 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
+ "translatable": 0,
"unique": 0
},
{
+ "allow_bulk_edit": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
@@ -308,9 +328,11 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
+ "translatable": 0,
"unique": 0
},
{
+ "allow_bulk_edit": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
@@ -337,9 +359,11 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
+ "translatable": 0,
"unique": 0
},
{
+ "allow_bulk_edit": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
@@ -367,9 +391,11 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
+ "translatable": 0,
"unique": 0
},
{
+ "allow_bulk_edit": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
@@ -395,9 +421,11 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
+ "translatable": 0,
"unique": 0
},
{
+ "allow_bulk_edit": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
@@ -426,15 +454,17 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
+ "translatable": 0,
"unique": 0
},
{
+ "allow_bulk_edit": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"depends_on": "eval:doc.tax_type==\"Purchase\"",
- "fieldname": "supplier_type",
+ "fieldname": "supplier_group",
"fieldtype": "Link",
"hidden": 0,
"ignore_user_permissions": 0,
@@ -443,10 +473,10 @@
"in_global_search": 0,
"in_list_view": 0,
"in_standard_filter": 0,
- "label": "Supplier Type",
+ "label": "Supplier Group",
"length": 0,
"no_copy": 0,
- "options": "Supplier Type",
+ "options": "Supplier Group",
"permlevel": 0,
"precision": "",
"print_hide": 0,
@@ -457,9 +487,11 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
+ "translatable": 0,
"unique": 0
},
{
+ "allow_bulk_edit": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
@@ -486,9 +518,11 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
+ "translatable": 0,
"unique": 0
},
{
+ "allow_bulk_edit": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
@@ -515,9 +549,11 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
+ "translatable": 0,
"unique": 0
},
{
+ "allow_bulk_edit": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
@@ -544,9 +580,11 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
+ "translatable": 0,
"unique": 0
},
{
+ "allow_bulk_edit": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
@@ -574,9 +612,11 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
+ "translatable": 0,
"unique": 0
},
{
+ "allow_bulk_edit": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
@@ -603,9 +643,11 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
+ "translatable": 0,
"unique": 0
},
{
+ "allow_bulk_edit": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
@@ -632,9 +674,11 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
+ "translatable": 0,
"unique": 0
},
{
+ "allow_bulk_edit": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
@@ -660,9 +704,11 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
+ "translatable": 0,
"unique": 0
},
{
+ "allow_bulk_edit": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
@@ -689,9 +735,11 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
+ "translatable": 0,
"unique": 0
},
{
+ "allow_bulk_edit": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
@@ -717,9 +765,11 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
+ "translatable": 0,
"unique": 0
},
{
+ "allow_bulk_edit": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
@@ -747,9 +797,11 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
+ "translatable": 0,
"unique": 0
},
{
+ "allow_bulk_edit": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
@@ -775,9 +827,11 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
+ "translatable": 0,
"unique": 0
},
{
+ "allow_bulk_edit": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
@@ -805,20 +859,21 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
+ "translatable": 0,
"unique": 0
}
],
+ "has_web_view": 0,
"hide_heading": 0,
"hide_toolbar": 0,
"idx": 0,
"image_view": 0,
"in_create": 0,
- "in_dialog": 0,
"is_submittable": 0,
"issingle": 0,
"istable": 0,
"max_attachments": 0,
- "modified": "2017-02-17 16:22:42.501765",
+ "modified": "2018-04-19 07:53:43.020808",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Tax Rule",
@@ -827,7 +882,6 @@
"permissions": [
{
"amend": 0,
- "apply_user_permissions": 0,
"cancel": 0,
"create": 1,
"delete": 1,
diff --git a/erpnext/accounts/doctype/tax_rule/tax_rule.py b/erpnext/accounts/doctype/tax_rule/tax_rule.py
index ddef657..56bd287 100644
--- a/erpnext/accounts/doctype/tax_rule/tax_rule.py
+++ b/erpnext/accounts/doctype/tax_rule/tax_rule.py
@@ -30,7 +30,7 @@
def validate_tax_template(self):
if self.tax_type== "Sales":
- self.purchase_tax_template = self.supplier = self.supplier_type = None
+ self.purchase_tax_template = self.supplier = self.supplier_group = None
if self.customer:
self.customer_group = None
@@ -38,7 +38,7 @@
self.sales_tax_template = self.customer = self.customer_group = None
if self.supplier:
- self.supplier_type = None
+ self.supplier_group = None
if not (self.sales_tax_template or self.purchase_tax_template):
frappe.throw(_("Tax Template is mandatory."))
@@ -53,7 +53,7 @@
"customer": self.customer,
"customer_group": self.customer_group,
"supplier": self.supplier,
- "supplier_type": self.supplier_type,
+ "supplier_group": self.supplier_group,
"billing_city": self.billing_city,
"billing_county": self.billing_county,
"billing_state": self.billing_state,
diff --git a/erpnext/accounts/party.py b/erpnext/accounts/party.py
index 6f272cf..652272d 100644
--- a/erpnext/accounts/party.py
+++ b/erpnext/accounts/party.py
@@ -47,7 +47,7 @@
set_contact_details(out, party, party_type)
set_other_values(out, party, party_type)
set_price_list(out, party, party_type, price_list)
- out["taxes_and_charges"] = set_taxes(party.name, party_type, posting_date, company, out.customer_group, out.supplier_type)
+ out["taxes_and_charges"] = set_taxes(party.name, party_type, posting_date, company, out.customer_group, out.supplier_group)
out["payment_terms_template"] = get_pyt_term_template(party.name, party_type, company)
if not out.get("currency"):
@@ -105,7 +105,7 @@
if party_type=="Customer":
to_copy = ["customer_name", "customer_group", "territory", "language"]
else:
- to_copy = ["supplier_name", "supplier_type", "language"]
+ to_copy = ["supplier_name", "supplier_group", "language"]
for f in to_copy:
out[f] = party.get(f)
@@ -169,7 +169,7 @@
def get_party_account(party_type, party, company):
"""Returns the account for the given `party`.
Will first search in party (Customer / Supplier) record, if not found,
- will search in group (Customer Group / Supplier Type),
+ will search in group (Customer Group / Supplier Group),
finally will return default."""
if not company:
frappe.throw(_("Please select a Company"))
@@ -181,7 +181,7 @@
{"parenttype": party_type, "parent": party, "company": company}, "account")
if not account and party_type in ['Customer', 'Supplier']:
- party_group_doctype = "Customer Group" if party_type=="Customer" else "Supplier Type"
+ party_group_doctype = "Customer Group" if party_type=="Customer" else "Supplier Group"
group = frappe.db.get_value(party_type, party, scrub(party_group_doctype))
account = frappe.db.get_value("Party Account",
{"parenttype": party_group_doctype, "parent": group, "company": company}, "account")
@@ -274,8 +274,8 @@
due_date = get_due_date_from_template(template_name, posting_date, bill_date).strftime("%Y-%m-%d")
else:
if party_type == "Supplier":
- supplier_type = frappe.db.get_value(party_type, party, fieldname="supplier_type")
- template_name = frappe.db.get_value("Supplier Type", supplier_type, fieldname="payment_terms")
+ supplier_group = frappe.db.get_value(party_type, party, fieldname="supplier_group")
+ template_name = frappe.db.get_value("Supplier Group", supplier_group, fieldname="payment_terms")
if template_name:
due_date = get_due_date_from_template(template_name, posting_date, bill_date).strftime("%Y-%m-%d")
# If due date is calculated from bill_date, check this condition
@@ -321,7 +321,7 @@
.format(formatdate(default_due_date)))
@frappe.whitelist()
-def set_taxes(party, party_type, posting_date, company, customer_group=None, supplier_type=None,
+def set_taxes(party, party_type, posting_date, company, customer_group=None, supplier_group=None,
billing_address=None, shipping_address=None, use_for_shopping_cart=None):
from erpnext.accounts.doctype.tax_rule.tax_rule import get_tax_template, get_party_details
args = {
@@ -332,8 +332,8 @@
if customer_group:
args['customer_group'] = customer_group
- if supplier_type:
- args['supplier_type'] = supplier_type
+ if supplier_group:
+ args['supplier_group'] = supplier_group
if billing_address or shipping_address:
args.update(get_party_details(party, party_type, {"billing_address": billing_address, \
@@ -371,10 +371,10 @@
customer.customer_group, fieldname='payment_terms')
else:
supplier = frappe.db.get_value("Supplier", party_name,
- fieldname=['payment_terms', "supplier_type"], as_dict=1)
+ fieldname=['payment_terms', "supplier_group"], as_dict=1)
template = supplier.payment_terms
- if not template and supplier.supplier_type:
- template = frappe.db.get_value("Supplier Type", supplier.supplier_type, fieldname='payment_terms')
+ if not template and supplier.supplier_group:
+ template = frappe.db.get_value("Supplier Group", supplier.supplier_group, fieldname='payment_terms')
if not template and company:
template = frappe.db.get_value("Company", company, fieldname='payment_terms')
diff --git a/erpnext/accounts/report/accounts_receivable/accounts_receivable.py b/erpnext/accounts/report/accounts_receivable/accounts_receivable.py
index fc76be4..ca806bf 100644
--- a/erpnext/accounts/report/accounts_receivable/accounts_receivable.py
+++ b/erpnext/accounts/report/accounts_receivable/accounts_receivable.py
@@ -112,7 +112,7 @@
_("Customer Group") + ":Link/Customer Group:120"
]
if args.get("party_type") == "Supplier":
- columns += [_("Supplier Type") + ":Link/Supplier Type:80"]
+ columns += [_("Supplier Group") + ":Link/Supplier Group:80"]
columns.append(_("Remarks") + "::200")
@@ -194,11 +194,11 @@
# Delivery Note
row += [voucher_details.get(gle.voucher_no, {}).get("delivery_note")]
- # customer territory / supplier type
+ # customer territory / supplier group
if args.get("party_type") == "Customer":
row += [self.get_territory(gle.party), self.get_customer_group(gle.party)]
if args.get("party_type") == "Supplier":
- row += [self.get_supplier_type(gle.party)]
+ row += [self.get_supplier_group(gle.party)]
row.append(gle.remarks)
data.append(row)
@@ -260,15 +260,15 @@
def get_customer_group(self, party_name):
return self.get_party_map("Customer").get(party_name, {}).get("customer_group") or ""
- def get_supplier_type(self, party_name):
- return self.get_party_map("Supplier").get(party_name, {}).get("supplier_type") or ""
+ def get_supplier_group(self, party_name):
+ return self.get_party_map("Supplier").get(party_name, {}).get("supplier_group") or ""
def get_party_map(self, party_type):
if not hasattr(self, "party_map"):
if party_type == "Customer":
select_fields = "name, customer_name, territory, customer_group"
elif party_type == "Supplier":
- select_fields = "name, supplier_name, supplier_type"
+ select_fields = "name, supplier_name, supplier_group"
self.party_map = dict(((r.name, r) for r in frappe.db.sql("select {0} from `tab{1}`"
.format(select_fields, party_type), as_dict=True)))
diff --git a/erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.py b/erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.py
index 08b24fb..9b50960 100644
--- a/erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.py
+++ b/erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.py
@@ -35,7 +35,7 @@
_("Customer Group") + ":Link/Customer Group:120"
]
if args.get("party_type") == "Supplier":
- columns += [_("Supplier Type") + ":Link/Supplier Type:80"]
+ columns += [_("Supplier Group") + ":Link/Supplier Group:80"]
columns.append({
"fieldname": "currency",
@@ -66,7 +66,7 @@
if args.get("party_type") == "Customer":
row += [self.get_territory(party), self.get_customer_group(party)]
if args.get("party_type") == "Supplier":
- row += [self.get_supplier_type(party)]
+ row += [self.get_supplier_group(party)]
row.append(party_dict.currency)
data.append(row)
@@ -113,7 +113,7 @@
"outstanding_amt", "age", "range1", "range2", "range3", "range4", "currency"]
if args.get("party_type") == "Supplier":
- cols += ["supplier_type", "remarks"]
+ cols += ["supplier_group", "remarks"]
if args.get("party_type") == "Customer":
cols += ["territory", "customer_group", "remarks"]
diff --git a/erpnext/accounts/report/purchase_register/purchase_register.py b/erpnext/accounts/report/purchase_register/purchase_register.py
index cf599a0..7a298b3 100644
--- a/erpnext/accounts/report/purchase_register/purchase_register.py
+++ b/erpnext/accounts/report/purchase_register/purchase_register.py
@@ -42,7 +42,7 @@
row.append(inv.get(col))
row += [
- supplier_details.get(inv.supplier), # supplier_type
+ supplier_details.get(inv.supplier), # supplier_group
inv.tax_id, inv.credit_to, inv.mode_of_payment, ", ".join(project),
inv.bill_no, inv.bill_date, inv.remarks,
", ".join(purchase_order), ", ".join(purchase_receipt), company_currency
@@ -83,7 +83,7 @@
columns += additional_table_columns
columns += [
- _("Supplier Type") + ":Link/Supplier Type:120", _("Tax Id") + "::80", _("Payable Account") + ":Link/Account:120",
+ _("Supplier Group") + ":Link/Supplier Group:120", _("Tax Id") + "::80", _("Payable Account") + ":Link/Account:120",
_("Mode of Payment") + ":Link/Mode of Payment:80", _("Project") + ":Link/Project:80",
_("Bill No") + "::120", _("Bill Date") + ":Date:80", _("Remarks") + "::150",
_("Purchase Order") + ":Link/Purchase Order:100",
@@ -229,8 +229,8 @@
def get_supplier_details(suppliers):
supplier_details = {}
- for supp in frappe.db.sql("""select name, supplier_type from `tabSupplier`
+ for supp in frappe.db.sql("""select name, supplier_group from `tabSupplier`
where name in (%s)""" % ", ".join(["%s"]*len(suppliers)), tuple(suppliers), as_dict=1):
- supplier_details.setdefault(supp.name, supp.supplier_type)
+ supplier_details.setdefault(supp.name, supp.supplier_group)
return supplier_details
diff --git a/erpnext/buying/doctype/buying_settings/buying_settings.json b/erpnext/buying/doctype/buying_settings/buying_settings.json
index bb2b47d..c0684f9 100644
--- a/erpnext/buying/doctype/buying_settings/buying_settings.json
+++ b/erpnext/buying/doctype/buying_settings/buying_settings.json
@@ -1,188 +1,263 @@
{
"allow_copy": 0,
+ "allow_guest_to_view": 0,
"allow_import": 0,
"allow_rename": 0,
+ "beta": 0,
"creation": "2013-06-25 11:04:03",
"custom": 0,
"description": "Settings for Buying Module",
"docstatus": 0,
"doctype": "DocType",
"document_type": "Other",
+ "editable_grid": 0,
"fields": [
{
+ "allow_bulk_edit": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
+ "columns": 0,
"default": "Supplier Name",
"fieldname": "supp_master_name",
"fieldtype": "Select",
"hidden": 0,
"ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
"in_filter": 0,
+ "in_global_search": 0,
"in_list_view": 0,
+ "in_standard_filter": 0,
"label": "Supplier Naming By",
+ "length": 0,
"no_copy": 0,
"options": "Supplier Name\nNaming Series",
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 0,
+ "remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
+ "translatable": 0,
"unique": 0
},
{
+ "allow_bulk_edit": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
- "fieldname": "supplier_type",
+ "columns": 0,
+ "fieldname": "supplier_group",
"fieldtype": "Link",
"hidden": 0,
"ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
"in_filter": 0,
+ "in_global_search": 0,
"in_list_view": 0,
- "label": "Default Supplier Type",
+ "in_standard_filter": 0,
+ "label": "Default Supplier Group",
+ "length": 0,
"no_copy": 0,
- "options": "Supplier Type",
+ "options": "Supplier Group",
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 0,
+ "remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
+ "translatable": 0,
"unique": 0
},
{
+ "allow_bulk_edit": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
+ "columns": 0,
"fieldname": "buying_price_list",
"fieldtype": "Link",
"hidden": 0,
"ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
"in_filter": 0,
+ "in_global_search": 0,
"in_list_view": 0,
+ "in_standard_filter": 0,
"label": "Default Buying Price List",
+ "length": 0,
"no_copy": 0,
"options": "Price List",
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 0,
+ "remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
+ "translatable": 0,
"unique": 0
},
{
+ "allow_bulk_edit": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
+ "columns": 0,
"fieldname": "column_break_3",
"fieldtype": "Column Break",
"hidden": 0,
"ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
"in_filter": 0,
+ "in_global_search": 0,
"in_list_view": 0,
+ "in_standard_filter": 0,
+ "length": 0,
"no_copy": 0,
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 0,
+ "remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
+ "translatable": 0,
"unique": 0
},
{
+ "allow_bulk_edit": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
+ "columns": 0,
"fieldname": "po_required",
"fieldtype": "Select",
"hidden": 0,
"ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
"in_filter": 0,
+ "in_global_search": 0,
"in_list_view": 0,
+ "in_standard_filter": 0,
"label": "Purchase Order Required",
+ "length": 0,
"no_copy": 0,
"options": "No\nYes",
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 0,
+ "remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
+ "translatable": 0,
"unique": 0
},
{
+ "allow_bulk_edit": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
+ "columns": 0,
"fieldname": "pr_required",
"fieldtype": "Select",
"hidden": 0,
"ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
"in_filter": 0,
+ "in_global_search": 0,
"in_list_view": 0,
+ "in_standard_filter": 0,
"label": "Purchase Receipt Required",
+ "length": 0,
"no_copy": 0,
"options": "No\nYes",
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 0,
+ "remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
+ "translatable": 0,
"unique": 0
},
{
+ "allow_bulk_edit": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
+ "columns": 0,
"fieldname": "maintain_same_rate",
"fieldtype": "Check",
"hidden": 0,
"ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
"in_filter": 0,
+ "in_global_search": 0,
"in_list_view": 0,
+ "in_standard_filter": 0,
"label": "Maintain same rate throughout purchase cycle",
+ "length": 0,
"no_copy": 0,
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 0,
+ "remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
+ "translatable": 0,
"unique": 0
},
{
+ "allow_bulk_edit": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
+ "columns": 0,
"fieldname": "allow_multiple_items",
"fieldtype": "Check",
"hidden": 0,
"ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
"in_filter": 0,
+ "in_global_search": 0,
"in_list_view": 0,
+ "in_standard_filter": 0,
"label": "Allow Item to be added multiple times in a transaction",
+ "length": 0,
"no_copy": 0,
"permlevel": 0,
"precision": "",
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 0,
+ "remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
+ "translatable": 0,
"unique": 0
- },
+ },
{
"allow_bulk_edit": 0,
"allow_on_submit": 0,
@@ -213,19 +288,22 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
+ "translatable": 0,
"unique": 0
}
],
+ "has_web_view": 0,
"hide_heading": 0,
"hide_toolbar": 0,
"icon": "fa fa-cog",
"idx": 1,
+ "image_view": 0,
"in_create": 0,
- "in_dialog": 0,
"is_submittable": 0,
"issingle": 1,
"istable": 0,
- "modified": "2017-12-27 15:20:06.052342",
+ "max_attachments": 0,
+ "modified": "2018-04-19 07:56:42.888821",
"modified_by": "Administrator",
"module": "Buying",
"name": "Buying Settings",
@@ -233,7 +311,6 @@
"permissions": [
{
"amend": 0,
- "apply_user_permissions": 0,
"cancel": 0,
"create": 1,
"delete": 0,
@@ -252,6 +329,10 @@
"write": 1
}
],
+ "quick_entry": 0,
"read_only": 0,
- "read_only_onload": 0
+ "read_only_onload": 0,
+ "show_name_in_global_search": 0,
+ "track_changes": 0,
+ "track_seen": 0
}
\ No newline at end of file
diff --git a/erpnext/buying/doctype/buying_settings/buying_settings.py b/erpnext/buying/doctype/buying_settings/buying_settings.py
index 1f0184b..a634a09 100644
--- a/erpnext/buying/doctype/buying_settings/buying_settings.py
+++ b/erpnext/buying/doctype/buying_settings/buying_settings.py
@@ -10,7 +10,7 @@
class BuyingSettings(Document):
def validate(self):
- for key in ["supplier_type", "supp_master_name", "maintain_same_rate", "buying_price_list"]:
+ for key in ["supplier_group", "supp_master_name", "maintain_same_rate", "buying_price_list"]:
frappe.db.set_default(key, self.get(key, ""))
from erpnext.setup.doctype.naming_series.naming_series import set_by_naming_series
diff --git a/erpnext/buying/doctype/request_for_quotation/request_for_quotation.js b/erpnext/buying/doctype/request_for_quotation/request_for_quotation.js
index de87e04..2ff8075 100644
--- a/erpnext/buying/doctype/request_for_quotation/request_for_quotation.js
+++ b/erpnext/buying/doctype/request_for_quotation/request_for_quotation.js
@@ -61,11 +61,11 @@
fields: [
{ "fieldtype": "Select", "label": __("Get Suppliers By"),
"fieldname": "search_type",
- "options": "Tag\nSupplier Type", "reqd": 1 },
- { "fieldtype": "Link", "label": __("Supplier Type"),
- "fieldname": "supplier_type",
- "options": "Supplier Type", "reqd": 0,
- "depends_on": "eval:doc.search_type == 'Supplier Type'"},
+ "options": "Tag\nSupplier Group", "reqd": 1 },
+ { "fieldtype": "Link", "label": __("Supplier Group"),
+ "fieldname": "supplier_group",
+ "options": "Supplier Group", "reqd": 0,
+ "depends_on": "eval:doc.search_type == 'Supplier Group'"},
{ "fieldtype": "Data", "label": __("Tag"),
"fieldname": "tag", "reqd": 0,
"depends_on": "eval:doc.search_type == 'Tag'" },
@@ -121,14 +121,14 @@
},
callback: load_suppliers
});
- } else if (args.supplier_type) {
+ } else if (args.supplier_group) {
return frappe.call({
method: "frappe.client.get_list",
args: {
doctype: "Supplier",
order_by: "name",
fields: ["name"],
- filters: [["Supplier", "supplier_type", "=", args.supplier_type]]
+ filters: [["Supplier", "supplier_group_name", "=", args.supplier_group]]
},
callback: load_suppliers
diff --git a/erpnext/buying/doctype/request_for_quotation/test_request_for_quotation.py b/erpnext/buying/doctype/request_for_quotation/test_request_for_quotation.py
index 7eb741f..dbd9f02 100644
--- a/erpnext/buying/doctype/request_for_quotation/test_request_for_quotation.py
+++ b/erpnext/buying/doctype/request_for_quotation/test_request_for_quotation.py
@@ -56,7 +56,7 @@
frappe.delete_doc_if_exists("Supplier", "_Test Supplier '1", force=1)
supplier = frappe.new_doc("Supplier")
supplier.supplier_name = "_Test Supplier '1"
- supplier.supplier_type = "_Test Supplier Type"
+ supplier.supplier_group = "_Test Supplier Group"
supplier.insert()
rfq = make_request_for_quotation(supplier_wt_appos)
diff --git a/erpnext/buying/doctype/supplier/supplier.json b/erpnext/buying/doctype/supplier/supplier.json
index afb8899..d342e11 100644
--- a/erpnext/buying/doctype/supplier/supplier.json
+++ b/erpnext/buying/doctype/supplier/supplier.json
@@ -43,7 +43,7 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
- "translatable": 0,
+ "translatable": 0,
"unique": 0
},
{
@@ -76,7 +76,7 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 1,
- "translatable": 0,
+ "translatable": 0,
"unique": 0
},
{
@@ -108,7 +108,7 @@
"reqd": 1,
"search_index": 0,
"set_only_once": 0,
- "translatable": 0,
+ "translatable": 0,
"unique": 0
},
{
@@ -140,7 +140,7 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
- "translatable": 0,
+ "translatable": 0,
"unique": 0
},
{
@@ -171,7 +171,7 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
- "translatable": 0,
+ "translatable": 0,
"unique": 0
},
{
@@ -267,7 +267,7 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
- "translatable": 0,
+ "translatable": 0,
"unique": 0
},
{
@@ -296,7 +296,7 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
- "translatable": 0,
+ "translatable": 0,
"unique": 0,
"width": "50%"
},
@@ -306,7 +306,7 @@
"bold": 0,
"collapsible": 0,
"columns": 0,
- "fieldname": "supplier_type",
+ "fieldname": "supplier_group",
"fieldtype": "Link",
"hidden": 0,
"ignore_user_permissions": 0,
@@ -315,12 +315,12 @@
"in_global_search": 0,
"in_list_view": 1,
"in_standard_filter": 1,
- "label": "Supplier Type",
+ "label": "Supplier Group",
"length": 0,
"no_copy": 0,
"oldfieldname": "supplier_type",
"oldfieldtype": "Link",
- "options": "Supplier Type",
+ "options": "Supplier Group",
"permlevel": 0,
"print_hide": 0,
"print_hide_if_no_value": 0,
@@ -330,7 +330,7 @@
"reqd": 1,
"search_index": 0,
"set_only_once": 0,
- "translatable": 0,
+ "translatable": 0,
"unique": 0
},
{
@@ -362,7 +362,7 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
- "translatable": 0,
+ "translatable": 0,
"unique": 0
},
{
@@ -394,7 +394,7 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
- "translatable": 0,
+ "translatable": 0,
"unique": 0
},
{
@@ -425,7 +425,7 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
- "translatable": 0,
+ "translatable": 0,
"unique": 0
},
{
@@ -456,7 +456,7 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
- "translatable": 0,
+ "translatable": 0,
"unique": 0
},
{
@@ -487,7 +487,7 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
- "translatable": 0,
+ "translatable": 0,
"unique": 0
},
{
@@ -518,7 +518,7 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
- "translatable": 0,
+ "translatable": 0,
"unique": 0
},
{
@@ -614,7 +614,7 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
- "translatable": 0,
+ "translatable": 0,
"unique": 0
},
{
@@ -645,7 +645,7 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
- "translatable": 0,
+ "translatable": 0,
"unique": 0
},
{
@@ -675,7 +675,7 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
- "translatable": 0,
+ "translatable": 0,
"unique": 0
},
{
@@ -706,7 +706,7 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
- "translatable": 0,
+ "translatable": 0,
"unique": 0
},
{
@@ -737,7 +737,7 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
- "translatable": 0,
+ "translatable": 0,
"unique": 0
},
{
@@ -770,7 +770,7 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
- "translatable": 0,
+ "translatable": 0,
"unique": 0
},
{
@@ -803,7 +803,7 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
- "translatable": 0,
+ "translatable": 0,
"unique": 0
},
{
@@ -833,7 +833,7 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
- "translatable": 0,
+ "translatable": 0,
"unique": 0
},
{
@@ -862,7 +862,7 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
- "translatable": 0,
+ "translatable": 0,
"unique": 0,
"width": "50%"
},
@@ -893,7 +893,7 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
- "translatable": 0,
+ "translatable": 0,
"unique": 0
},
{
@@ -924,7 +924,7 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
- "translatable": 0,
+ "translatable": 0,
"unique": 0
},
{
@@ -957,7 +957,7 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
- "translatable": 0,
+ "translatable": 0,
"unique": 0
},
{
@@ -988,7 +988,7 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
- "translatable": 0,
+ "translatable": 0,
"unique": 0,
"width": "50%"
},
@@ -1021,7 +1021,7 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
- "translatable": 0,
+ "translatable": 0,
"unique": 0
},
{
@@ -1163,7 +1163,7 @@
"issingle": 0,
"istable": 0,
"max_attachments": 0,
- "modified": "2018-04-19 12:19:52.519026",
+ "modified": "2018-05-11 12:19:52.519026",
"modified_by": "Administrator",
"module": "Buying",
"name": "Supplier",
@@ -1307,7 +1307,7 @@
"quick_entry": 1,
"read_only": 0,
"read_only_onload": 0,
- "search_fields": "supplier_name, supplier_type",
+ "search_fields": "supplier_name, supplier_group",
"show_name_in_global_search": 1,
"sort_order": "ASC",
"title_field": "supplier_name",
diff --git a/erpnext/buying/doctype/supplier/supplier_list.js b/erpnext/buying/doctype/supplier/supplier_list.js
index ab25d2c..d99e3f8 100644
--- a/erpnext/buying/doctype/supplier/supplier_list.js
+++ b/erpnext/buying/doctype/supplier/supplier_list.js
@@ -1,3 +1,3 @@
frappe.listview_settings['Supplier'] = {
- add_fields: ["supplier_name", "supplier_type", "image"],
+ add_fields: ["supplier_name", "supplier_group", "image"],
};
diff --git a/erpnext/buying/doctype/supplier/test_records.json b/erpnext/buying/doctype/supplier/test_records.json
index 2536721..9c01989 100644
--- a/erpnext/buying/doctype/supplier/test_records.json
+++ b/erpnext/buying/doctype/supplier/test_records.json
@@ -2,39 +2,39 @@
{
"doctype": "Supplier",
"supplier_name": "_Test Supplier With Template 1",
- "supplier_type": "_Test Supplier Type",
+ "supplier_group": "_Test Supplier Group",
"payment_terms": "_Test Payment Term Template 3"
},
{
"doctype": "Supplier",
"supplier_name": "_Test Supplier P",
- "supplier_type": "_Test Supplier Type"
+ "supplier_group": "_Test Supplier Group"
},
{
"doctype": "Supplier",
"supplier_name": "_Test Supplier with Country",
- "supplier_type": "_Test Supplier Type",
+ "supplier_group": "_Test Supplier Group",
"country": "Greece"
},
{
"doctype": "Supplier",
"supplier_name": "_Test Supplier",
- "supplier_type": "_Test Supplier Type"
+ "supplier_group": "_Test Supplier Group"
},
{
"doctype": "Supplier",
"supplier_name": "_Test Supplier 1",
- "supplier_type": "_Test Supplier Type"
+ "supplier_group": "_Test Supplier Group"
},
{
"doctype": "Supplier",
"supplier_name": "_Test Supplier 2",
- "supplier_type": "_Test Supplier Type"
+ "supplier_group": "_Test Supplier Group"
},
{
"doctype": "Supplier",
"supplier_name": "_Test Supplier USD",
- "supplier_type": "_Test Supplier Type",
+ "supplier_group": "_Test Supplier Group",
"accounts": [{
"company": "_Test Company",
"account": "_Test Payable USD - _TC"
diff --git a/erpnext/buying/doctype/supplier/test_supplier.js b/erpnext/buying/doctype/supplier/test_supplier.js
index 51e3c09..bf7c192 100644
--- a/erpnext/buying/doctype/supplier/test_supplier.js
+++ b/erpnext/buying/doctype/supplier/test_supplier.js
@@ -7,7 +7,7 @@
() => {
return frappe.tests.make('Supplier', [
{supplier_name: 'Test Supplier'},
- {supplier_type: 'Hardware'},
+ {supplier_group: 'Hardware'},
{country: 'India'},
{default_currency: 'INR'},
{accounts: [
@@ -66,7 +66,7 @@
() => {
assert.ok(cur_frm.doc.supplier_name == 'Test Supplier', "Name correct");
- assert.ok(cur_frm.doc.supplier_type == 'Hardware', "Type correct");
+ assert.ok(cur_frm.doc.supplier_group == 'Hardware', "Type correct");
assert.ok(cur_frm.doc.default_currency == 'INR', "Currency correct");
assert.ok(cur_frm.doc.accounts[0].account == 'Creditors - '+frappe.get_abbr('For Testing'), " Account Head abbr correct");
assert.ok($('.address-box:nth-child(3) p').text().includes('Shipping City 3'), "Address correct");
diff --git a/erpnext/buying/doctype/supplier/test_supplier.py b/erpnext/buying/doctype/supplier/test_supplier.py
index 16dda5c..2211db7 100644
--- a/erpnext/buying/doctype/supplier/test_supplier.py
+++ b/erpnext/buying/doctype/supplier/test_supplier.py
@@ -36,14 +36,14 @@
frappe.db.set_value("Supplier", "_Test Supplier With Template 1", "payment_terms", "")
- # Set credit limit for the supplier type instead of supplier and evaluate the due date
- frappe.db.set_value("Supplier Type", "_Test Supplier Type", "payment_terms", "_Test Payment Term Template 3")
+ # Set credit limit for the supplier group instead of supplier and evaluate the due date
+ frappe.db.set_value("Supplier Group", "_Test Supplier Group", "payment_terms", "_Test Payment Term Template 3")
due_date = get_due_date("2016-01-22", "Supplier", "_Test Supplier With Template 1")
self.assertEqual(due_date, "2016-02-21")
- # Payment terms for Supplier Type instead of supplier and evaluate the due date
- frappe.db.set_value("Supplier Type", "_Test Supplier Type", "payment_terms", "_Test Payment Term Template 1")
+ # Payment terms for Supplier Group instead of supplier and evaluate the due date
+ frappe.db.set_value("Supplier Group", "_Test Supplier Group", "payment_terms", "_Test Payment Term Template 1")
# Leap year
due_date = get_due_date("2016-01-22", "Supplier", "_Test Supplier With Template 1")
@@ -53,7 +53,7 @@
self.assertEqual(due_date, "2017-02-28")
# Supplier with no default Payment Terms Template
- frappe.db.set_value("Supplier Type", "_Test Supplier Type", "payment_terms", "")
+ frappe.db.set_value("Supplier Group", "_Test Supplier Group", "payment_terms", "")
frappe.db.set_value("Supplier", "_Test Supplier", "payment_terms", "")
due_date = get_due_date("2016-01-22", "Supplier", "_Test Supplier")
diff --git a/erpnext/buying/page/purchase_analytics/purchase_analytics.js b/erpnext/buying/page/purchase_analytics/purchase_analytics.js
index 442a8bb..06764a3 100644
--- a/erpnext/buying/page/purchase_analytics/purchase_analytics.js
+++ b/erpnext/buying/page/purchase_analytics/purchase_analytics.js
@@ -19,7 +19,7 @@
title: __("Purchase Analytics"),
parent: $(wrapper).find('.layout-main'),
page: wrapper.page,
- doctypes: ["Item", "Item Group", "Supplier", "Supplier Type", "Company", "Fiscal Year",
+ doctypes: ["Item", "Item Group", "Supplier", "Supplier Group", "Company", "Fiscal Year",
"Purchase Invoice", "Purchase Invoice Item",
"Purchase Order", "Purchase Order Item[Purchase Analytics]",
"Purchase Receipt", "Purchase Receipt Item[Purchase Analytics]"],
@@ -27,11 +27,11 @@
});
this.tree_grids = {
- "Supplier Type": {
- label: __("Supplier Type / Supplier"),
+ "Supplier Group": {
+ label: __("Supplier Group / Supplier"),
show: true,
item_key: "supplier",
- parent_field: "parent_supplier_type",
+ parent_field: "parent_supplier_group",
formatter: function(item) {
return item.supplier_name ? item.supplier_name + " (" + item.name + ")" : item.name;
}
@@ -77,7 +77,7 @@
},
filters: [
{fieldtype:"Select", label: __("Tree Type"), fieldname: "tree_type",
- options:["Supplier Type", "Supplier", "Item Group", "Item"],
+ options:["Supplier Group", "Supplier", "Item Group", "Item"],
filter: function(val, item, opts, me) {
return me.apply_zero_filter(val, item, opts, me);
}},
@@ -110,22 +110,10 @@
var me = this;
if (!this.tl) {
// add 'Not Set' Supplier & Item
- // Add 'All Supplier Types' Supplier Type
// (Supplier / Item are not mandatory!!)
- // Set parent supplier type for tree view
-
- $.each(frappe.report_dump.data["Supplier Type"], function(i, v) {
- v['parent_supplier_type'] = __("All Supplier Types")
- })
-
- frappe.report_dump.data["Supplier Type"] = [{
- name: __("All Supplier Types"),
- id: "All Supplier Types",
- }].concat(frappe.report_dump.data["Supplier Type"]);
-
frappe.report_dump.data["Supplier"].push({
name: __("Not Set"),
- parent_supplier_type: __("All Supplier Types"),
+ parent_supplier_group: __("All Supplier Groups"),
id: "Not Set",
});
@@ -142,14 +130,15 @@
if(!this.data || me.item_type != me.tree_type) {
+ var items;
if(me.tree_type=='Supplier') {
- var items = frappe.report_dump.data["Supplier"];
- } if(me.tree_type=='Supplier Type') {
- var items = this.prepare_tree("Supplier", "Supplier Type");
+ items = frappe.report_dump.data["Supplier"];
+ } else if(me.tree_type=='Supplier Group') {
+ items = this.prepare_tree("Supplier", "Supplier Group");
} else if(me.tree_type=="Item Group") {
- var items = this.prepare_tree("Item", "Item Group");
+ items = this.prepare_tree("Item", "Item Group");
} else if(me.tree_type=="Item") {
- var items = frappe.report_dump.data["Item"];
+ items = frappe.report_dump.data["Item"];
}
me.item_type = me.tree_type
diff --git a/erpnext/config/buying.py b/erpnext/config/buying.py
index ba29125..e20d514 100644
--- a/erpnext/config/buying.py
+++ b/erpnext/config/buying.py
@@ -39,8 +39,8 @@
},
{
"type": "doctype",
- "name": "Supplier Type",
- "description": _("Supplier Type master.")
+ "name": "Supplier Group",
+ "description": _("Supplier Group master.")
},
{
"type": "doctype",
diff --git a/erpnext/controllers/queries.py b/erpnext/controllers/queries.py
index fd13c13..3bf720f 100644
--- a/erpnext/controllers/queries.py
+++ b/erpnext/controllers/queries.py
@@ -102,9 +102,9 @@
def supplier_query(doctype, txt, searchfield, start, page_len, filters):
supp_master_name = frappe.defaults.get_user_default("supp_master_name")
if supp_master_name == "Supplier Name":
- fields = ["name", "supplier_type"]
+ fields = ["name", "supplier_group"]
else:
- fields = ["name", "supplier_name", "supplier_type"]
+ fields = ["name", "supplier_name", "supplier_group"]
fields = ", ".join(fields)
return frappe.db.sql("""select {field} from `tabSupplier`
diff --git a/erpnext/controllers/trends.py b/erpnext/controllers/trends.py
index ef698c2..28a8fdd 100644
--- a/erpnext/controllers/trends.py
+++ b/erpnext/controllers/trends.py
@@ -235,16 +235,16 @@
based_on_details["addl_tables"] = ''
elif based_on == 'Supplier':
- based_on_details["based_on_cols"] = ["Supplier:Link/Supplier:120", "Supplier Type:Link/Supplier Type:140"]
- based_on_details["based_on_select"] = "t1.supplier, t3.supplier_type,"
+ based_on_details["based_on_cols"] = ["Supplier:Link/Supplier:120", "Supplier Group:Link/Supplier Group:140"]
+ based_on_details["based_on_select"] = "t1.supplier, t3.supplier_group,"
based_on_details["based_on_group_by"] = 't1.supplier'
based_on_details["addl_tables"] = ',`tabSupplier` t3'
based_on_details["addl_tables_relational_cond"] = " and t1.supplier = t3.name"
- elif based_on == 'Supplier Type':
- based_on_details["based_on_cols"] = ["Supplier Type:Link/Supplier Type:140"]
- based_on_details["based_on_select"] = "t3.supplier_type,"
- based_on_details["based_on_group_by"] = 't3.supplier_type'
+ elif based_on == 'Supplier Group':
+ based_on_details["based_on_cols"] = ["Supplier Group:Link/Supplier Group:140"]
+ based_on_details["based_on_select"] = "t3.supplier_group,"
+ based_on_details["based_on_group_by"] = 't3.supplier_group'
based_on_details["addl_tables"] = ',`tabSupplier` t3'
based_on_details["addl_tables_relational_cond"] = " and t1.supplier = t3.name"
diff --git a/erpnext/demo/setup/setup_data.py b/erpnext/demo/setup/setup_data.py
index 4ed4df9..42d079d 100644
--- a/erpnext/demo/setup/setup_data.py
+++ b/erpnext/demo/setup/setup_data.py
@@ -275,7 +275,7 @@
frappe.get_doc({
"doctype": "Supplier",
"supplier_name": s,
- "supplier_type": random.choice(["Services", "Raw Material"]),
+ "supplier_group": random.choice(["Services", "Raw Material"]),
}).insert()
def setup_warehouse():
diff --git a/erpnext/hub_node/__init__.py b/erpnext/hub_node/__init__.py
index 89ee926..65b1386 100644
--- a/erpnext/hub_node/__init__.py
+++ b/erpnext/hub_node/__init__.py
@@ -187,7 +187,7 @@
supplier_doc = frappe.get_doc({
'doctype': 'Supplier',
'supplier_name': supplier.supplier_name,
- 'supplier_type': supplier.supplier_type,
+ 'supplier_group': supplier.supplier_group,
'supplier_email': supplier.supplier_email
}).insert()
else:
diff --git a/erpnext/patches.txt b/erpnext/patches.txt
index 69b11d6..70f4ecd 100644
--- a/erpnext/patches.txt
+++ b/erpnext/patches.txt
@@ -527,6 +527,7 @@
erpnext.patches.v11_0.create_salary_structure_assignments
erpnext.patches.v11_0.rename_health_insurance
erpnext.patches.v11_0.rebuild_tree_for_company
+erpnext.patches.v11_0.rename_supplier_type_to_supplier_group
erpnext.patches.v11_0.create_department_records_for_each_company
erpnext.patches.v11_0.make_location_from_warehouse
-erpnext.patches.v11_0.make_asset_finance_book_against_old_entries
\ No newline at end of file
+erpnext.patches.v11_0.make_asset_finance_book_against_old_entries
diff --git a/erpnext/patches/v11_0/rename_supplier_type_to_supplier_group.py b/erpnext/patches/v11_0/rename_supplier_type_to_supplier_group.py
new file mode 100644
index 0000000..f0907af
--- /dev/null
+++ b/erpnext/patches/v11_0/rename_supplier_type_to_supplier_group.py
@@ -0,0 +1,34 @@
+import frappe
+from frappe.model.rename_doc import rename_doc
+from frappe.model.utils.rename_field import rename_field
+from frappe import _
+from frappe.utils.nestedset import rebuild_tree
+
+def execute():
+ if frappe.db.table_exists("Supplier Type") and not frappe.db.table_exists("Supplier Group"):
+ rename_doc("DocType", "Supplier Type", "Supplier Group", force=True)
+ frappe.reload_doc('setup', 'doctype', 'supplier_group')
+ frappe.reload_doc("accounts", "doctype", "pricing_rule")
+ frappe.reload_doc("accounts", "doctype", "tax_rule")
+ frappe.reload_doc("buying", "doctype", "buying_settings")
+ frappe.reload_doc("buying", "doctype", "supplier")
+ rename_field("Supplier Group", "supplier_type", "supplier_group_name")
+ rename_field("Supplier", "supplier_type", "supplier_group")
+ rename_field("Buying Settings", "supplier_type", "supplier_group")
+ rename_field("Pricing Rule", "supplier_type", "supplier_group")
+ rename_field("Tax Rule", "supplier_type", "supplier_group")
+
+ build_tree()
+
+def build_tree():
+ frappe.db.sql("""update `tabSupplier Group` set parent_supplier_group = '{0}'
+ where is_group = 0""".format(_('All Supplier Groups')))
+
+ if not frappe.db.exists("Supplier Group", _('All Supplier Groups')):
+ frappe.get_doc({
+ 'doctype': 'Supplier Group',
+ 'supplier_group_name': _('All Supplier Groups'),
+ 'is_group': 1
+ }).insert(ignore_permissions=True)
+
+ rebuild_tree("Supplier Group", "parent_supplier_group")
diff --git a/erpnext/public/js/conf.js b/erpnext/public/js/conf.js
index d256c08..08f8d43 100644
--- a/erpnext/public/js/conf.js
+++ b/erpnext/public/js/conf.js
@@ -49,7 +49,7 @@
$.extend(frappe.breadcrumbs.preferred, {
"Item Group": "Stock",
"Customer Group": "Selling",
- "Supplier Type": "Buying",
+ "Supplier Group": "Buying",
"Territory": "Selling",
"Sales Person": "Selling",
"Sales Partner": "Selling",
diff --git a/erpnext/public/js/controllers/transaction.js b/erpnext/public/js/controllers/transaction.js
index 1551b1d..eb4a700 100644
--- a/erpnext/public/js/controllers/transaction.js
+++ b/erpnext/public/js/controllers/transaction.js
@@ -980,7 +980,7 @@
"customer_group": me.frm.doc.customer_group,
"territory": me.frm.doc.territory,
"supplier": me.frm.doc.supplier,
- "supplier_type": me.frm.doc.supplier_type,
+ "supplier_group": me.frm.doc.supplier_group,
"currency": me.frm.doc.currency,
"conversion_rate": me.frm.doc.conversion_rate,
"price_list": me.frm.doc.selling_price_list || me.frm.doc.buying_price_list,
diff --git a/erpnext/public/js/hub/hub_form.js b/erpnext/public/js/hub/hub_form.js
index 62c44fc..4a8c4eb 100644
--- a/erpnext/public/js/hub/hub_form.js
+++ b/erpnext/public/js/hub/hub_form.js
@@ -444,8 +444,8 @@
{ label: __('Supplier Name'), fieldtype: 'Data', fieldname: 'supplier_name', default: item.company_name },
{ label: __('Supplier Email'), fieldtype: 'Data', fieldname: 'supplier_email', default: item.seller },
{ fieldtype: 'Column Break' },
- { label: __('Supplier Type'), fieldname: 'supplier_type',
- fieldtype: 'Link', options: 'Supplier Type' }
+ { label: __('Supplier Group'), fieldname: 'supplier_group',
+ fieldtype: 'Link', options: 'Supplier Group' }
];
fields = fields.map(f => { f.reqd = 1; return f; });
diff --git a/erpnext/public/js/purchase_trends_filters.js b/erpnext/public/js/purchase_trends_filters.js
index 117d4eb..595a138 100644
--- a/erpnext/public/js/purchase_trends_filters.js
+++ b/erpnext/public/js/purchase_trends_filters.js
@@ -23,7 +23,7 @@
{ "value": "Item", "label": __("Item") },
{ "value": "Item Group", "label": __("Item Group") },
{ "value": "Supplier", "label": __("Supplier") },
- { "value": "Supplier Type", "label": __("Supplier Type") },
+ { "value": "Supplier Group", "label": __("Supplier Group") },
{ "value": "Project", "label": __("Project") }
],
"default": "Item"
diff --git a/erpnext/selling/doctype/sales_order/sales_order.py b/erpnext/selling/doctype/sales_order/sales_order.py
index 40c2cf0..72723eb 100755
--- a/erpnext/selling/doctype/sales_order/sales_order.py
+++ b/erpnext/selling/doctype/sales_order/sales_order.py
@@ -755,9 +755,9 @@
def get_supplier(doctype, txt, searchfield, start, page_len, filters):
supp_master_name = frappe.defaults.get_user_default("supp_master_name")
if supp_master_name == "Supplier Name":
- fields = ["name", "supplier_type"]
+ fields = ["name", "supplier_group"]
else:
- fields = ["name", "supplier_name", "supplier_type"]
+ fields = ["name", "supplier_name", "supplier_group"]
fields = ", ".join(fields)
return frappe.db.sql("""select {field} from `tabSupplier`
diff --git a/erpnext/setup/doctype/supplier_type/__init__.py b/erpnext/setup/doctype/supplier_group/__init__.py
similarity index 100%
rename from erpnext/setup/doctype/supplier_type/__init__.py
rename to erpnext/setup/doctype/supplier_group/__init__.py
diff --git a/erpnext/setup/doctype/supplier_group/supplier_group.js b/erpnext/setup/doctype/supplier_group/supplier_group.js
new file mode 100644
index 0000000..ac5bda6
--- /dev/null
+++ b/erpnext/setup/doctype/supplier_group/supplier_group.js
@@ -0,0 +1,37 @@
+// 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) {
+ 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);
+ }
+};
+
+// get query select Customer Group
+cur_frm.fields_dict['parent_supplier_group'].get_query = function() {
+ return {
+ filters: {
+ 'is_group': 1
+ }
+ };
+};
+
+cur_frm.fields_dict['accounts'].grid.get_field('account').get_query = function(doc, cdt, cdn) {
+ var d = locals[cdt][cdn];
+ return {
+ filters: {
+ 'account_type': 'Payable',
+ 'company': d.company,
+ "is_group": 0
+ }
+ };
+};
diff --git a/erpnext/setup/doctype/supplier_type/supplier_type.json b/erpnext/setup/doctype/supplier_group/supplier_group.json
similarity index 62%
rename from erpnext/setup/doctype/supplier_type/supplier_type.json
rename to erpnext/setup/doctype/supplier_group/supplier_group.json
index d7d7084..dc8b263 100644
--- a/erpnext/setup/doctype/supplier_type/supplier_type.json
+++ b/erpnext/setup/doctype/supplier_group/supplier_group.json
@@ -3,7 +3,7 @@
"allow_guest_to_view": 0,
"allow_import": 1,
"allow_rename": 1,
- "autoname": "field:supplier_type",
+ "autoname": "field:supplier_group_name",
"beta": 0,
"creation": "2013-01-10 16:34:24",
"custom": 0,
@@ -18,16 +18,16 @@
"bold": 0,
"collapsible": 0,
"columns": 0,
- "fieldname": "supplier_type",
+ "fieldname": "supplier_group_name",
"fieldtype": "Data",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
- "in_list_view": 1,
+ "in_list_view": 0,
"in_standard_filter": 0,
- "label": "Supplier Type",
+ "label": "Supplier Group Name",
"length": 0,
"no_copy": 0,
"oldfieldname": "supplier_type",
@@ -41,9 +41,73 @@
"reqd": 1,
"search_index": 0,
"set_only_once": 0,
+ "translatable": 0,
"unique": 0
},
{
+ "allow_bulk_edit": 0,
+ "allow_on_submit": 0,
+ "bold": 1,
+ "collapsible": 0,
+ "columns": 0,
+ "fieldname": "parent_supplier_group",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 1,
+ "ignore_xss_filter": 0,
+ "in_filter": 0,
+ "in_global_search": 0,
+ "in_list_view": 1,
+ "in_standard_filter": 0,
+ "label": "Parent Supplier Group",
+ "length": 0,
+ "no_copy": 0,
+ "options": "Supplier Group",
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "print_hide_if_no_value": 0,
+ "read_only": 0,
+ "remember_last_selected_value": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "translatable": 0,
+ "unique": 0
+ },
+ {
+ "allow_bulk_edit": 0,
+ "allow_on_submit": 0,
+ "bold": 1,
+ "collapsible": 0,
+ "columns": 0,
+ "fieldname": "is_group",
+ "fieldtype": "Check",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
+ "in_filter": 0,
+ "in_global_search": 0,
+ "in_list_view": 1,
+ "in_standard_filter": 0,
+ "label": "Is Group",
+ "length": 0,
+ "no_copy": 0,
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "print_hide_if_no_value": 0,
+ "read_only": 0,
+ "remember_last_selected_value": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "translatable": 0,
+ "unique": 0
+ },
+ {
"allow_bulk_edit": 0,
"allow_on_submit": 0,
"bold": 0,
@@ -71,6 +135,7 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
+ "translatable": 0,
"unique": 0
},
{
@@ -102,6 +167,7 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
+ "translatable": 0,
"unique": 0
},
{
@@ -131,6 +197,7 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
+ "translatable": 0,
"unique": 0
},
{
@@ -163,6 +230,101 @@
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
+ "translatable": 0,
+ "unique": 0
+ },
+ {
+ "allow_bulk_edit": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "columns": 0,
+ "fieldname": "lft",
+ "fieldtype": "Int",
+ "hidden": 1,
+ "ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
+ "in_filter": 0,
+ "in_global_search": 0,
+ "in_list_view": 0,
+ "in_standard_filter": 0,
+ "label": "lft",
+ "length": 0,
+ "no_copy": 1,
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 1,
+ "print_hide_if_no_value": 0,
+ "read_only": 0,
+ "remember_last_selected_value": 0,
+ "report_hide": 1,
+ "reqd": 0,
+ "search_index": 1,
+ "set_only_once": 0,
+ "translatable": 0,
+ "unique": 0
+ },
+ {
+ "allow_bulk_edit": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "columns": 0,
+ "fieldname": "rgt",
+ "fieldtype": "Int",
+ "hidden": 1,
+ "ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
+ "in_filter": 0,
+ "in_global_search": 0,
+ "in_list_view": 0,
+ "in_standard_filter": 0,
+ "label": "rgt",
+ "length": 0,
+ "no_copy": 1,
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 1,
+ "print_hide_if_no_value": 0,
+ "read_only": 0,
+ "remember_last_selected_value": 0,
+ "report_hide": 1,
+ "reqd": 0,
+ "search_index": 1,
+ "set_only_once": 0,
+ "translatable": 0,
+ "unique": 0
+ },
+ {
+ "allow_bulk_edit": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "columns": 0,
+ "fieldname": "old_parent",
+ "fieldtype": "Link",
+ "hidden": 1,
+ "ignore_user_permissions": 1,
+ "ignore_xss_filter": 0,
+ "in_filter": 0,
+ "in_global_search": 0,
+ "in_list_view": 0,
+ "in_standard_filter": 0,
+ "label": "Old Parent",
+ "length": 0,
+ "no_copy": 1,
+ "options": "Supplier Group",
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 1,
+ "print_hide_if_no_value": 0,
+ "read_only": 0,
+ "remember_last_selected_value": 0,
+ "report_hide": 1,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "translatable": 0,
"unique": 0
}
],
@@ -177,15 +339,14 @@
"issingle": 0,
"istable": 0,
"max_attachments": 0,
- "modified": "2017-09-04 18:54:10.093500",
+ "modified": "2018-04-20 00:54:48.724120",
"modified_by": "Administrator",
"module": "Setup",
- "name": "Supplier Type",
+ "name": "Supplier Group",
"owner": "Administrator",
"permissions": [
{
"amend": 0,
- "apply_user_permissions": 0,
"cancel": 0,
"create": 0,
"delete": 0,
@@ -205,7 +366,6 @@
},
{
"amend": 0,
- "apply_user_permissions": 0,
"cancel": 0,
"create": 0,
"delete": 0,
@@ -225,7 +385,6 @@
},
{
"amend": 0,
- "apply_user_permissions": 0,
"cancel": 0,
"create": 1,
"delete": 1,
@@ -245,7 +404,6 @@
},
{
"amend": 0,
- "apply_user_permissions": 0,
"cancel": 0,
"create": 0,
"delete": 0,
@@ -265,7 +423,6 @@
},
{
"amend": 0,
- "apply_user_permissions": 0,
"cancel": 0,
"create": 0,
"delete": 0,
@@ -285,7 +442,6 @@
},
{
"amend": 0,
- "apply_user_permissions": 0,
"cancel": 0,
"create": 0,
"delete": 0,
diff --git a/erpnext/setup/doctype/supplier_group/supplier_group.py b/erpnext/setup/doctype/supplier_group/supplier_group.py
new file mode 100644
index 0000000..747560a
--- /dev/null
+++ b/erpnext/setup/doctype/supplier_group/supplier_group.py
@@ -0,0 +1,20 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and contributors
+# For license information, please see license.txt
+
+from __future__ import unicode_literals
+import frappe
+from frappe.utils.nestedset import NestedSet
+
+class SupplierGroup(NestedSet):
+ nsm_parent_field = 'parent_supplier_group';
+
+ def update_nsm_model(self):
+ frappe.utils.nestedset.update_nsm(self)
+
+ def on_update(self):
+ self.update_nsm_model()
+ self.validate_one_root()
+
+ def on_trash(self):
+ self.update_nsm_model()
diff --git a/erpnext/setup/doctype/supplier_group/supplier_group_tree.js b/erpnext/setup/doctype/supplier_group/supplier_group_tree.js
new file mode 100644
index 0000000..7392699
--- /dev/null
+++ b/erpnext/setup/doctype/supplier_group/supplier_group_tree.js
@@ -0,0 +1,3 @@
+frappe.treeview_settings["Supplier Group"] = {
+ ignore_fields:["parent_supplier_group"]
+};
\ No newline at end of file
diff --git a/erpnext/setup/doctype/supplier_group/test_records.json b/erpnext/setup/doctype/supplier_group/test_records.json
new file mode 100644
index 0000000..1681e2a
--- /dev/null
+++ b/erpnext/setup/doctype/supplier_group/test_records.json
@@ -0,0 +1,7 @@
+[
+ {
+ "doctype": "Supplier Group",
+ "supplier_group_name": "_Test Supplier Group"
+ }
+]
+
\ No newline at end of file
diff --git a/erpnext/setup/doctype/supplier_type/test_supplier_type.js b/erpnext/setup/doctype/supplier_group/test_supplier_group.js
similarity index 71%
rename from erpnext/setup/doctype/supplier_type/test_supplier_type.js
rename to erpnext/setup/doctype/supplier_group/test_supplier_group.js
index 085dddd..976dd2c 100644
--- a/erpnext/setup/doctype/supplier_type/test_supplier_type.js
+++ b/erpnext/setup/doctype/supplier_group/test_supplier_group.js
@@ -2,15 +2,15 @@
// rename this file from _test_[name] to test_[name] to activate
// and remove above this line
-QUnit.test("test: Supplier Type", function (assert) {
+QUnit.test("test: Supplier Group", function (assert) {
let done = assert.async();
// number of asserts
assert.expect(1);
frappe.run_serially([
- // insert a new Supplier Type
- () => frappe.tests.make('Supplier Type', [
+ // insert a new Supplier Group
+ () => frappe.tests.make('Supplier Group', [
// values to be set
{key: 'value'}
]),
diff --git a/erpnext/setup/doctype/supplier_group/test_supplier_group.py b/erpnext/setup/doctype/supplier_group/test_supplier_group.py
new file mode 100644
index 0000000..0e3d23d
--- /dev/null
+++ b/erpnext/setup/doctype/supplier_group/test_supplier_group.py
@@ -0,0 +1,7 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and Contributors
+# See license.txt
+from __future__ import unicode_literals
+
+import frappe
+test_records = frappe.get_test_records('Supplier Group')
diff --git a/erpnext/setup/doctype/supplier_type/README.md b/erpnext/setup/doctype/supplier_type/README.md
deleted file mode 100644
index 0da4c70..0000000
--- a/erpnext/setup/doctype/supplier_type/README.md
+++ /dev/null
@@ -1 +0,0 @@
-Supplier classification.
\ No newline at end of file
diff --git a/erpnext/setup/doctype/supplier_type/supplier_type.js b/erpnext/setup/doctype/supplier_type/supplier_type.js
deleted file mode 100644
index f1c5d70..0000000
--- a/erpnext/setup/doctype/supplier_type/supplier_type.js
+++ /dev/null
@@ -1,17 +0,0 @@
-// Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
-// License: GNU General Public License v3. See license.txt
-
-cur_frm.cscript.refresh = function(doc) {
- cur_frm.set_intro(doc.__islocal ? "" : __("There is nothing to edit."))
-}
-
-cur_frm.fields_dict['accounts'].grid.get_field('account').get_query = function(doc, cdt, cdn) {
- var d = locals[cdt][cdn];
- return {
- filters: {
- 'account_type': 'Payable',
- 'company': d.company,
- "is_group": 0
- }
- }
-}
diff --git a/erpnext/setup/doctype/supplier_type/supplier_type.py b/erpnext/setup/doctype/supplier_type/supplier_type.py
deleted file mode 100644
index 0d23746..0000000
--- a/erpnext/setup/doctype/supplier_type/supplier_type.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
-# License: GNU General Public License v3. See license.txt
-
-from __future__ import unicode_literals
-import frappe
-
-from frappe.model.document import Document
-
-class SupplierType(Document):
- pass
\ No newline at end of file
diff --git a/erpnext/setup/doctype/supplier_type/test_records.json b/erpnext/setup/doctype/supplier_type/test_records.json
deleted file mode 100644
index fd632c5..0000000
--- a/erpnext/setup/doctype/supplier_type/test_records.json
+++ /dev/null
@@ -1,6 +0,0 @@
-[
- {
- "doctype": "Supplier Type",
- "supplier_type": "_Test Supplier Type"
- }
-]
diff --git a/erpnext/setup/doctype/supplier_type/test_supplier_type.py b/erpnext/setup/doctype/supplier_type/test_supplier_type.py
deleted file mode 100644
index 9fa8a44..0000000
--- a/erpnext/setup/doctype/supplier_type/test_supplier_type.py
+++ /dev/null
@@ -1,7 +0,0 @@
-# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
-# License: GNU General Public License v3. See license.txt
-from __future__ import unicode_literals
-
-
-import frappe
-test_records = frappe.get_test_records('Supplier Type')
\ No newline at end of file
diff --git a/erpnext/setup/setup_wizard/operations/install_fixtures.py b/erpnext/setup/setup_wizard/operations/install_fixtures.py
index 8f761e5..c686ed3 100644
--- a/erpnext/setup/setup_wizard/operations/install_fixtures.py
+++ b/erpnext/setup/setup_wizard/operations/install_fixtures.py
@@ -147,14 +147,15 @@
{'doctype': 'Customer Group', 'customer_group_name': _('Non Profit'), 'is_group': 0, 'parent_customer_group': _('All Customer Groups')},
{'doctype': 'Customer Group', 'customer_group_name': _('Government'), 'is_group': 0, 'parent_customer_group': _('All Customer Groups')},
- # supplier type
- {'doctype': 'Supplier Type', 'supplier_type': _('Services')},
- {'doctype': 'Supplier Type', 'supplier_type': _('Local')},
- {'doctype': 'Supplier Type', 'supplier_type': _('Raw Material')},
- {'doctype': 'Supplier Type', 'supplier_type': _('Electrical')},
- {'doctype': 'Supplier Type', 'supplier_type': _('Hardware')},
- {'doctype': 'Supplier Type', 'supplier_type': _('Pharmaceutical')},
- {'doctype': 'Supplier Type', 'supplier_type': _('Distributor')},
+ # supplier group
+ {'doctype': 'Supplier Group', 'supplier_group_name': _('All Supplier Groups'), 'is_group': 1, 'name': _('All Supplier Groups'), 'parent_supplier_group': ''},
+ {'doctype': 'Supplier Group', 'supplier_group_name': _('Services'), 'is_group': 0, 'parent_supplier_group': _('All Supplier Groups')},
+ {'doctype': 'Supplier Group', 'supplier_group_name': _('Local'), 'is_group': 0, 'parent_supplier_group': _('All Supplier Groups')},
+ {'doctype': 'Supplier Group', 'supplier_group_name': _('Raw Material'), 'is_group': 0, 'parent_supplier_group': _('All Supplier Groups')},
+ {'doctype': 'Supplier Group', 'supplier_group_name': _('Electrical'), 'is_group': 0, 'parent_supplier_group': _('All Supplier Groups')},
+ {'doctype': 'Supplier Group', 'supplier_group_name': _('Hardware'), 'is_group': 0, 'parent_supplier_group': _('All Supplier Groups')},
+ {'doctype': 'Supplier Group', 'supplier_group_name': _('Pharmaceutical'), 'is_group': 0, 'parent_supplier_group': _('All Supplier Groups')},
+ {'doctype': 'Supplier Group', 'supplier_group_name': _('Distributor'), 'is_group': 0, 'parent_supplier_group': _('All Supplier Groups')},
# Sales Person
{'doctype': 'Sales Person', 'sales_person_name': _('Sales Team'), 'is_group': 1, "parent_sales_person": ""},
diff --git a/erpnext/startup/report_data_map.py b/erpnext/startup/report_data_map.py
index daf6fdd..5de7998 100644
--- a/erpnext/startup/report_data_map.py
+++ b/erpnext/startup/report_data_map.py
@@ -208,15 +208,15 @@
},
"Supplier": {
"columns": ["name", "if(supplier_name=name, '', supplier_name) as supplier_name",
- "supplier_type as parent_supplier_type"],
+ "supplier_group as parent_supplier_group"],
"conditions": ["docstatus < 2"],
"order_by": "name",
"links": {
- "parent_supplier_type": ["Supplier Type", "name"],
+ "parent_supplier_group": ["Supplier Group", "name"],
}
},
- "Supplier Type": {
- "columns": ["name"],
+ "Supplier Group": {
+ "columns": ["name", "parent_supplier_group"],
"conditions": ["docstatus < 2"],
"order_by": "name"
},
diff --git a/erpnext/stock/doctype/delivery_note/delivery_note.js b/erpnext/stock/doctype/delivery_note/delivery_note.js
index e6029aa..7ee0c5c 100644
--- a/erpnext/stock/doctype/delivery_note/delivery_note.js
+++ b/erpnext/stock/doctype/delivery_note/delivery_note.js
@@ -34,7 +34,7 @@
frm.set_query('transporter_name', function(doc) {
return {
- filters: { 'supplier_type': "transporter" }
+ filters: { 'supplier_group': "transporter" }
}
});
diff --git a/erpnext/utilities/user_progress_utils.py b/erpnext/utilities/user_progress_utils.py
index 5bd855f..20e533e 100644
--- a/erpnext/utilities/user_progress_utils.py
+++ b/erpnext/utilities/user_progress_utils.py
@@ -63,7 +63,7 @@
doc = frappe.get_doc({
"doctype":"Supplier",
"supplier_name": supplier,
- "supplier_type": _("Local"),
+ "supplier_group": _("Local"),
"company": defaults.get("company")
}).insert()