Merge pull request #16140 from deepeshgarg007/total_row_report_fix
This commit is contained in:
commit
e10cd292f8
3 changed files with 9 additions and 16 deletions
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue