From caba531e89ef2019c93207b9a6e56f9960177ac2 Mon Sep 17 00:00:00 2001 From: Neil Trini Lasrado Date: Wed, 20 Aug 2014 17:20:29 +0530 Subject: [PATCH 1/2] [fix] issue#980 --- .../setup/doctype/item_group/item_group.json | 33 +++++++++++++++++-- erpnext/stock/get_item_details.py | 20 +++++++---- 2 files changed, 44 insertions(+), 9 deletions(-) diff --git a/erpnext/setup/doctype/item_group/item_group.json b/erpnext/setup/doctype/item_group/item_group.json index fff066cef7..1a18710133 100644 --- a/erpnext/setup/doctype/item_group/item_group.json +++ b/erpnext/setup/doctype/item_group/item_group.json @@ -22,9 +22,10 @@ "search_index": 0 }, { - "fieldname": "cb0", - "fieldtype": "Column Break", + "fieldname": "gs", + "fieldtype": "Section Break", "in_list_view": 0, + "label": "General Settings", "permlevel": 0 }, { @@ -56,6 +57,32 @@ "reqd": 1, "search_index": 0 }, + { + "fieldname": "column_break_5", + "fieldtype": "Column Break", + "permlevel": 0 + }, + { + "fieldname": "default_income_account", + "fieldtype": "Link", + "label": "Default Income Account", + "options": "Account", + "permlevel": 0 + }, + { + "fieldname": "default_expense_account", + "fieldtype": "Link", + "label": "Default Expense Account", + "options": "Account", + "permlevel": 0 + }, + { + "fieldname": "default_cost_center", + "fieldtype": "Link", + "label": "Default Cost Center", + "options": "Cost Center", + "permlevel": 0 + }, { "fieldname": "sb9", "fieldtype": "Section Break", @@ -164,7 +191,7 @@ "in_create": 1, "issingle": 0, "max_attachments": 3, - "modified": "2014-08-19 06:42:03.262273", + "modified": "2014-08-20 17:48:34.489750", "modified_by": "Administrator", "module": "Setup", "name": "Item Group", diff --git a/erpnext/stock/get_item_details.py b/erpnext/stock/get_item_details.py index 82b396fb39..efb793deea 100644 --- a/erpnext/stock/get_item_details.py +++ b/erpnext/stock/get_item_details.py @@ -35,6 +35,7 @@ def get_item_details(args): item_doc = frappe.get_doc("Item", args.item_code) item = item_doc + validate_item_details(args, item) out = get_basic_details(args, item_doc) @@ -135,16 +136,22 @@ def get_basic_details(args, item_doc): if len(user_default_warehouse_list)==1 else "" out = frappe._dict({ + "item_code": item.name, "item_name": item.item_name, "description": item.description_html or item.description, "warehouse": user_default_warehouse or args.warehouse or item.default_warehouse, - "income_account": item.income_account or args.income_account \ - or frappe.db.get_value("Company", args.company, "default_income_account"), - "expense_account": item.expense_account or args.expense_account \ - or frappe.db.get_value("Company", args.company, "default_expense_account"), - "cost_center": item.selling_cost_center \ - if args.transaction_type == "selling" else item.buying_cost_center, + "income_account": (item.income_account + or args.income_account + or frappe.db.get_value("Item Group", item.item_group, "default_income_account") + or frappe.db.get_value("Company", args.company, "default_income_account")), + "expense_account": (item.expense_account + or args.expense_account + or frappe.db.get_value("Item Group", item.item_group, "default_expense_account") + or frappe.db.get_value("Company", args.company, "default_expense_account")), + "cost_center": ((item.selling_cost_center if args.transaction_type == "selling" else item.buying_cost_center) + or frappe.db.get_value("Item Group", item.item_group, "default_cost_center") + or frappe.db.get_value("Company", args.company, "cost_center")), "batch_no": None, "item_tax_rate": json.dumps(dict(([d.tax_type, d.tax_rate] for d in item_doc.get("item_tax")))), @@ -174,6 +181,7 @@ def get_price_list_rate(args, item_doc, out): validate_price_list(args) validate_conversion_rate(args, meta) + price_list_rate = frappe.db.get_value("Item Price", {"price_list": args.price_list, "item_code": args.item_code}, "price_list_rate") From 9d1e8b61fe2989f0126399d3953c196a3f9116f4 Mon Sep 17 00:00:00 2001 From: Neil Trini Lasrado Date: Mon, 25 Aug 2014 16:37:13 +0530 Subject: [PATCH 2/2] [Fix] Issue #980 final --- erpnext/accounts/doctype/cost_center/test_records.json | 7 +++++++ erpnext/setup/doctype/item_group/test_records.json | 3 ++- erpnext/stock/doctype/item/test_item.py | 2 +- erpnext/stock/doctype/item/test_records.json | 1 - 4 files changed, 10 insertions(+), 3 deletions(-) diff --git a/erpnext/accounts/doctype/cost_center/test_records.json b/erpnext/accounts/doctype/cost_center/test_records.json index 9e3e011fe2..7ffc687a9c 100644 --- a/erpnext/accounts/doctype/cost_center/test_records.json +++ b/erpnext/accounts/doctype/cost_center/test_records.json @@ -15,5 +15,12 @@ "doctype": "Cost Center", "group_or_ledger": "Ledger", "parent_cost_center": "_Test Company - _TC" + }, + { + "company": "_Test Company", + "cost_center_name": "_Test Cost Center 2", + "doctype": "Cost Center", + "group_or_ledger": "Ledger", + "parent_cost_center": "_Test Company - _TC" } ] \ No newline at end of file diff --git a/erpnext/setup/doctype/item_group/test_records.json b/erpnext/setup/doctype/item_group/test_records.json index d85fa2266b..60336f0c08 100644 --- a/erpnext/setup/doctype/item_group/test_records.json +++ b/erpnext/setup/doctype/item_group/test_records.json @@ -3,7 +3,8 @@ "doctype": "Item Group", "is_group": "No", "item_group_name": "_Test Item Group", - "parent_item_group": "All Item Groups" + "parent_item_group": "All Item Groups", + "default_cost_center": "_Test Cost Center 2 - _TC" }, { "doctype": "Item Group", diff --git a/erpnext/stock/doctype/item/test_item.py b/erpnext/stock/doctype/item/test_item.py index 7ab93ebf4c..56150cabac 100644 --- a/erpnext/stock/doctype/item/test_item.py +++ b/erpnext/stock/doctype/item/test_item.py @@ -27,7 +27,7 @@ class TestItem(unittest.TestCase): "warehouse": "_Test Warehouse - _TC", "income_account": "Sales - _TC", "expense_account": "_Test Account Cost for Goods Sold - _TC", - "cost_center": "_Test Cost Center - _TC", + "cost_center": "_Test Cost Center 2 - _TC", "qty": 1.0, "price_list_rate": 100.0, "base_price_list_rate": 0.0, diff --git a/erpnext/stock/doctype/item/test_records.json b/erpnext/stock/doctype/item/test_records.json index 761d4f2707..a256149571 100644 --- a/erpnext/stock/doctype/item/test_records.json +++ b/erpnext/stock/doctype/item/test_records.json @@ -28,7 +28,6 @@ "warehouse_reorder_qty": 20 } ], - "selling_cost_center": "_Test Cost Center - _TC", "stock_uom": "_Test UOM", "show_in_website": 1, "website_warehouse": "_Test Warehouse - _TC"