fix: Only raise an error if Depreciation Expense Account is neither an Income nor an Expense Account
This commit is contained in:
parent
8fc31e3cea
commit
62fbbe8915
@ -42,10 +42,10 @@ class AssetCategory(Document):
|
|||||||
|
|
||||||
def validate_account_types(self):
|
def validate_account_types(self):
|
||||||
account_type_map = {
|
account_type_map = {
|
||||||
'fixed_asset_account': { 'account_type': 'Fixed Asset' },
|
'fixed_asset_account': {'account_type': ['Fixed Asset']},
|
||||||
'accumulated_depreciation_account': { 'account_type': 'Accumulated Depreciation' },
|
'accumulated_depreciation_account': {'account_type': ['Accumulated Depreciation']},
|
||||||
'depreciation_expense_account': { 'root_type': 'Expense' },
|
'depreciation_expense_account': {'root_type': ['Expense', 'Income']},
|
||||||
'capital_work_in_progress_account': { 'account_type': 'Capital Work in Progress' }
|
'capital_work_in_progress_account': {'account_type': ['Capital Work in Progress']}
|
||||||
}
|
}
|
||||||
for d in self.accounts:
|
for d in self.accounts:
|
||||||
for fieldname in account_type_map.keys():
|
for fieldname in account_type_map.keys():
|
||||||
@ -53,11 +53,11 @@ class AssetCategory(Document):
|
|||||||
selected_account = d.get(fieldname)
|
selected_account = d.get(fieldname)
|
||||||
key_to_match = next(iter(account_type_map.get(fieldname))) # acount_type or root_type
|
key_to_match = next(iter(account_type_map.get(fieldname))) # acount_type or root_type
|
||||||
selected_key_type = frappe.db.get_value('Account', selected_account, key_to_match)
|
selected_key_type = frappe.db.get_value('Account', selected_account, key_to_match)
|
||||||
expected_key_type = account_type_map[fieldname][key_to_match]
|
expected_key_types = account_type_map[fieldname][key_to_match]
|
||||||
|
|
||||||
if selected_key_type != expected_key_type:
|
if selected_key_type not in expected_key_types:
|
||||||
frappe.throw(_("Row #{}: {} of {} should be {}. Please modify the account or select a different account.")
|
frappe.throw(_("Row #{}: {} of {} should be {}. Please modify the account or select a different account.")
|
||||||
.format(d.idx, frappe.unscrub(key_to_match), frappe.bold(selected_account), frappe.bold(expected_key_type)),
|
.format(d.idx, frappe.unscrub(key_to_match), frappe.bold(selected_account), frappe.bold(expected_key_types)),
|
||||||
title=_("Invalid Account"))
|
title=_("Invalid Account"))
|
||||||
|
|
||||||
def valide_cwip_account(self):
|
def valide_cwip_account(self):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user