fix: Parent company defaulting on creation of new company (#20422)

* fix: Parent company defaulting on creation of new company

* fix: Test Cases

* fix: Test Cases

* fix: Test Cases for staffing plan
This commit is contained in:
Deepesh Garg 2020-01-28 12:54:45 +05:30 committed by Nabin Hait
parent 3fb48ebf61
commit cd8d667861
3 changed files with 22 additions and 4 deletions

View File

@ -14,7 +14,7 @@ test_dependencies = ["Designation"]
class TestStaffingPlan(unittest.TestCase):
def test_staffing_plan(self):
_set_up()
frappe.db.set_value("Company", "_Test Company", "is_group", 1)
frappe.db.set_value("Company", "_Test Company 3", "is_group", 1)
if frappe.db.exists("Staffing Plan", "Test"):
return
staffing_plan = frappe.new_doc("Staffing Plan")
@ -36,7 +36,7 @@ class TestStaffingPlan(unittest.TestCase):
if frappe.db.exists("Staffing Plan", "Test 1"):
return
staffing_plan = frappe.new_doc("Staffing Plan")
staffing_plan.company = "_Test Company"
staffing_plan.company = "_Test Company 3"
staffing_plan.name = "Test 1"
staffing_plan.from_date = nowdate()
staffing_plan.to_date = add_days(nowdate(), 10)
@ -52,7 +52,7 @@ class TestStaffingPlan(unittest.TestCase):
if frappe.db.exists("Staffing Plan", "Test"):
return
staffing_plan = frappe.new_doc("Staffing Plan")
staffing_plan.company = "_Test Company"
staffing_plan.company = "_Test Company 3"
staffing_plan.name = "Test"
staffing_plan.from_date = nowdate()
staffing_plan.to_date = add_days(nowdate(), 10)
@ -87,10 +87,11 @@ def _set_up():
def make_company():
if frappe.db.exists("Company", "_Test Company 10"):
return
company = frappe.new_doc("Company")
company.company_name = "_Test Company 10"
company.abbr = "_TC10"
company.parent_company = "_Test Company"
company.parent_company = "_Test Company 3"
company.default_currency = "INR"
company.country = "Pakistan"
company.insert()

View File

@ -4,6 +4,15 @@
frappe.provide("erpnext.company");
frappe.ui.form.on("Company", {
onload: function(frm) {
if (frm.doc.__islocal && frm.doc.parent_company) {
frappe.db.get_value('Company', frm.doc.parent_company, 'is_group', (r) => {
if (!r.is_group) {
frm.set_value('parent_company', '');
}
});
}
},
setup: function(frm) {
erpnext.company.setup_queries(frm);
frm.set_query("hra_component", function(){

View File

@ -47,6 +47,7 @@ class Company(NestedSet):
self.validate_perpetual_inventory()
self.check_country_change()
self.set_chart_of_accounts()
self.validate_parent_company()
def validate_abbr(self):
if not self.abbr:
@ -189,6 +190,13 @@ class Company(NestedSet):
self.create_chart_of_accounts_based_on = "Existing Company"
self.existing_company = self.parent_company
def validate_parent_company(self):
if self.parent_company:
is_group = frappe.get_value('Company', self.parent_company, 'is_group')
if not is_group:
frappe.throw(_("Parent Company must be a group company"))
def set_default_accounts(self):
default_accounts = {
"default_cash_account": "Cash",