Merge pull request #27811 from frappe/mergify/bp/develop/pr-27792

fix: COA Importer showing blank validations (backport #27792)
This commit is contained in:
Deepesh Garg 2021-10-05 21:23:21 +05:30 committed by GitHub
commit 91bf40d692
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 51 additions and 51 deletions

View File

@ -10,6 +10,15 @@ frappe.ui.form.on('Chart of Accounts Importer', {
// make company mandatory // make company mandatory
frm.set_df_property('company', 'reqd', frm.doc.company ? 0 : 1); frm.set_df_property('company', 'reqd', frm.doc.company ? 0 : 1);
frm.set_df_property('import_file_section', 'hidden', frm.doc.company ? 0 : 1); frm.set_df_property('import_file_section', 'hidden', frm.doc.company ? 0 : 1);
if (frm.doc.import_file) {
frappe.run_serially([
() => generate_tree_preview(frm),
() => create_import_button(frm),
() => frm.set_df_property('chart_preview', 'hidden', 0)
]);
}
frm.set_df_property('chart_preview', 'hidden', frm.set_df_property('chart_preview', 'hidden',
$(frm.fields_dict['chart_tree'].wrapper).html()!="" ? 0 : 1); $(frm.fields_dict['chart_tree'].wrapper).html()!="" ? 0 : 1);
}, },
@ -72,13 +81,6 @@ frappe.ui.form.on('Chart of Accounts Importer', {
if (!frm.doc.import_file) { if (!frm.doc.import_file) {
frm.page.set_indicator(""); frm.page.set_indicator("");
$(frm.fields_dict['chart_tree'].wrapper).empty(); // empty wrapper on removing file $(frm.fields_dict['chart_tree'].wrapper).empty(); // empty wrapper on removing file
} else {
frappe.run_serially([
() => validate_coa(frm),
() => generate_tree_preview(frm),
() => create_import_button(frm),
() => frm.set_df_property('chart_preview', 'hidden', 0),
]);
} }
}, },
@ -104,7 +106,6 @@ frappe.ui.form.on('Chart of Accounts Importer', {
}); });
var create_import_button = function(frm) { var create_import_button = function(frm) {
if (frm.page.show_import_button) {
frm.page.set_primary_action(__("Import"), function () { frm.page.set_primary_action(__("Import"), function () {
return frappe.call({ return frappe.call({
method: "erpnext.accounts.doctype.chart_of_accounts_importer.chart_of_accounts_importer.import_coa", method: "erpnext.accounts.doctype.chart_of_accounts_importer.chart_of_accounts_importer.import_coa",
@ -123,7 +124,6 @@ var create_import_button = function(frm) {
} }
}); });
}).addClass('btn btn-primary'); }).addClass('btn btn-primary');
}
}; };
var create_reset_button = function(frm) { var create_reset_button = function(frm) {
@ -137,7 +137,6 @@ var create_reset_button = function(frm) {
var validate_coa = function(frm) { var validate_coa = function(frm) {
if (frm.doc.import_file) { if (frm.doc.import_file) {
let parent = __('All Accounts'); let parent = __('All Accounts');
return frappe.call({ return frappe.call({
'method': 'erpnext.accounts.doctype.chart_of_accounts_importer.chart_of_accounts_importer.get_coa', 'method': 'erpnext.accounts.doctype.chart_of_accounts_importer.chart_of_accounts_importer.get_coa',
'args': { 'args': {
@ -157,7 +156,6 @@ var validate_coa = function(frm) {
}; };
var generate_tree_preview = function(frm) { var generate_tree_preview = function(frm) {
if (frm.doc.import_file) {
let parent = __('All Accounts'); let parent = __('All Accounts');
$(frm.fields_dict['chart_tree'].wrapper).empty(); // empty wrapper to load new data $(frm.fields_dict['chart_tree'].wrapper).empty(); // empty wrapper to load new data
@ -177,5 +175,4 @@ var generate_tree_preview = function(frm) {
parent = node.value; parent = node.value;
} }
}); });
}
}; };

View File

@ -25,7 +25,9 @@ from erpnext.accounts.doctype.account.chart_of_accounts.chart_of_accounts import
class ChartofAccountsImporter(Document): class ChartofAccountsImporter(Document):
pass def validate(self):
if self.import_file:
get_coa('Chart of Accounts Importer', 'All Accounts', file_name=self.import_file, for_validate=1)
def validate_columns(data): def validate_columns(data):
if not data: if not data:
@ -34,7 +36,8 @@ def validate_columns(data):
no_of_columns = max([len(d) for d in data]) no_of_columns = max([len(d) for d in data])
if no_of_columns > 7: if no_of_columns > 7:
frappe.throw(_('More columns found than expected. Please compare the uploaded file with standard template')) frappe.throw(_('More columns found than expected. Please compare the uploaded file with standard template'),
title=(_("Wrong Template")))
@frappe.whitelist() @frappe.whitelist()
def validate_company(company): def validate_company(company):

View File

@ -192,7 +192,7 @@ def get_or_create_account(company_name, account):
default_root_type = 'Liability' default_root_type = 'Liability'
root_type = account.get('root_type', default_root_type) root_type = account.get('root_type', default_root_type)
existing_accounts = frappe.get_list('Account', existing_accounts = frappe.get_all('Account',
filters={ filters={
'company': company_name, 'company': company_name,
'root_type': root_type 'root_type': root_type
@ -247,7 +247,7 @@ def get_or_create_tax_group(company_name, root_type):
# Create a new group account named 'Duties and Taxes' or 'Tax Assets' just # Create a new group account named 'Duties and Taxes' or 'Tax Assets' just
# below the root account # below the root account
root_account = frappe.get_list('Account', { root_account = frappe.get_all('Account', {
'is_group': 1, 'is_group': 1,
'root_type': root_type, 'root_type': root_type,
'company': company_name, 'company': company_name,