From c1f1bf406160bccdd861a8ba98b78dcacceb050b Mon Sep 17 00:00:00 2001 From: Deepesh Garg Date: Fri, 25 Feb 2022 20:41:05 +0530 Subject: [PATCH 1/3] fix: Unable to open query report --- frappe/desk/query_report.py | 19 +++++-------------- .../js/frappe/views/reports/query_report.js | 3 ++- 2 files changed, 7 insertions(+), 15 deletions(-) diff --git a/frappe/desk/query_report.py b/frappe/desk/query_report.py index 9ed956e986..a0b0aec255 100644 --- a/frappe/desk/query_report.py +++ b/frappe/desk/query_report.py @@ -73,7 +73,7 @@ def get_report_result(report, filters): return res @frappe.read_only() -def generate_report_result(report, filters=None, user=None, custom_columns=None, report_settings=None): +def generate_report_result(report, filters=None, user=None, custom_columns=None, is_tree=False, parent_field=None): user = user or frappe.session.user filters = filters or [] @@ -108,7 +108,7 @@ def generate_report_result(report, filters=None, user=None, custom_columns=None, result = get_filtered_data(report.ref_doctype, columns, result, user) if cint(report.add_total_row) and result and not skip_total_row: - result = add_total_row(result, columns, report_settings=report_settings) + result = add_total_row(result, columns, is_tree=is_tree, parent_field=parent_field) return { "result": result, @@ -210,7 +210,7 @@ def get_script(report_name): @frappe.whitelist() @frappe.read_only() -def run(report_name, filters=None, user=None, ignore_prepared_report=False, custom_columns=None, report_settings=None): +def run(report_name, filters=None, user=None, ignore_prepared_report=False, custom_columns=None, is_tree=False, parent_field=None): report = get_report_doc(report_name) if not user: user = frappe.session.user @@ -238,7 +238,7 @@ def run(report_name, filters=None, user=None, ignore_prepared_report=False, cust dn = "" result = get_prepared_report_result(report, filters, dn, user) else: - result = generate_report_result(report, filters, user, custom_columns, report_settings) + result = generate_report_result(report, filters, user, custom_columns, is_tree, parent_field) result["add_total_row"] = report.add_total_row and not result.get( "skip_total_row", False @@ -435,18 +435,9 @@ def build_xlsx_data(columns, data, visible_idx, include_indentation, ignore_visi return result, column_widths -def add_total_row(result, columns, meta=None, report_settings=None): +def add_total_row(result, columns, meta=None, is_tree=False, parent_field=None): total_row = [""] * len(columns) has_percent = [] - is_tree = False - parent_field = '' - - if report_settings: - if isinstance(report_settings, (str,)): - report_settings = json.loads(report_settings) - - is_tree = report_settings.get('tree') - parent_field = report_settings.get('parent_field') for i, col in enumerate(columns): fieldtype, options, fieldname = None, None, None diff --git a/frappe/public/js/frappe/views/reports/query_report.js b/frappe/public/js/frappe/views/reports/query_report.js index c226a3a458..7c12809fcd 100644 --- a/frappe/public/js/frappe/views/reports/query_report.js +++ b/frappe/public/js/frappe/views/reports/query_report.js @@ -578,7 +578,8 @@ frappe.views.QueryReport = class QueryReport extends frappe.views.BaseList { args: { report_name: this.report_name, filters: filters, - report_settings: this.report_settings + is_tree: this.report_settings.tree, + parent_field: this.report_settings.parent_field }, callback: resolve, always: () => this.page.btn_secondary.prop('disabled', false) From e2a17c38fdeba48537097798db05b2201c4d3f91 Mon Sep 17 00:00:00 2001 From: Ankush Menat Date: Sat, 26 Feb 2022 12:15:25 +0530 Subject: [PATCH 2/3] revert: ignore_if_duplicate in postgres breaking CI --- frappe/desk/page/setup_wizard/setup_wizard.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frappe/desk/page/setup_wizard/setup_wizard.py b/frappe/desk/page/setup_wizard/setup_wizard.py index 74101a6e1f..0c32e886f4 100755 --- a/frappe/desk/page/setup_wizard/setup_wizard.py +++ b/frappe/desk/page/setup_wizard/setup_wizard.py @@ -392,7 +392,7 @@ def make_records(records, debug=False): doc.flags.ignore_mandatory = True try: - doc.insert(ignore_permissions=True, ignore_if_duplicate=True) + doc.insert(ignore_permissions=True) frappe.db.commit() except frappe.DuplicateEntryError as e: From dad3a5c44803ceb916f49ae48649362f66e53b08 Mon Sep 17 00:00:00 2001 From: Deepesh Garg Date: Mon, 28 Feb 2022 08:40:07 +0530 Subject: [PATCH 3/3] test: Update test case --- frappe/core/doctype/report/test_report.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/frappe/core/doctype/report/test_report.py b/frappe/core/doctype/report/test_report.py index bf63afa5c5..7d434ff166 100644 --- a/frappe/core/doctype/report/test_report.py +++ b/frappe/core/doctype/report/test_report.py @@ -330,7 +330,8 @@ result = [ } ] - result = add_total_row(result, columns, meta=None, report_settings=report_settings) + result = add_total_row(result, columns, meta=None, is_tree=report_settings['tree'], + parent_field=report_settings['parent_field']) self.assertEqual(result[-1][0], "Total") self.assertEqual(result[-1][1], 200) self.assertEqual(result[-1][2], 150.50)