Browse Source

Merge branch 'develop' into none

version-14
ChillarAnand 3 years ago
parent
commit
7b470b6de8
4 changed files with 10 additions and 17 deletions
  1. +2
    -1
      frappe/core/doctype/report/test_report.py
  2. +1
    -1
      frappe/desk/page/setup_wizard/setup_wizard.py
  3. +5
    -14
      frappe/desk/query_report.py
  4. +2
    -1
      frappe/public/js/frappe/views/reports/query_report.js

+ 2
- 1
frappe/core/doctype/report/test_report.py View File

@@ -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][0], "Total")
self.assertEqual(result[-1][1], 200) self.assertEqual(result[-1][1], 200)
self.assertEqual(result[-1][2], 150.50) self.assertEqual(result[-1][2], 150.50)

+ 1
- 1
frappe/desk/page/setup_wizard/setup_wizard.py View File

@@ -392,7 +392,7 @@ def make_records(records, debug=False):
doc.flags.ignore_mandatory = True doc.flags.ignore_mandatory = True


try: try:
doc.insert(ignore_permissions=True, ignore_if_duplicate=True)
doc.insert(ignore_permissions=True)
frappe.db.commit() frappe.db.commit()


except frappe.DuplicateEntryError as e: except frappe.DuplicateEntryError as e:


+ 5
- 14
frappe/desk/query_report.py View File

@@ -73,7 +73,7 @@ def get_report_result(report, filters):
return res return res


@frappe.read_only() @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 user = user or frappe.session.user
filters = filters or [] 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) result = get_filtered_data(report.ref_doctype, columns, result, user)


if cint(report.add_total_row) and result and not skip_total_row: 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 { return {
"result": result, "result": result,
@@ -210,7 +210,7 @@ def get_script(report_name):


@frappe.whitelist() @frappe.whitelist()
@frappe.read_only() @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) report = get_report_doc(report_name)
if not user: if not user:
user = frappe.session.user user = frappe.session.user
@@ -238,7 +238,7 @@ def run(report_name, filters=None, user=None, ignore_prepared_report=False, cust
dn = "" dn = ""
result = get_prepared_report_result(report, filters, dn, user) result = get_prepared_report_result(report, filters, dn, user)
else: 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( result["add_total_row"] = report.add_total_row and not result.get(
"skip_total_row", False "skip_total_row", False
@@ -435,18 +435,9 @@ def build_xlsx_data(columns, data, visible_idx, include_indentation, ignore_visi
return result, column_widths 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) total_row = [""] * len(columns)
has_percent = [] 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): for i, col in enumerate(columns):
fieldtype, options, fieldname = None, None, None fieldtype, options, fieldname = None, None, None


+ 2
- 1
frappe/public/js/frappe/views/reports/query_report.js View File

@@ -578,7 +578,8 @@ frappe.views.QueryReport = class QueryReport extends frappe.views.BaseList {
args: { args: {
report_name: this.report_name, report_name: this.report_name,
filters: filters, filters: filters,
report_settings: this.report_settings
is_tree: this.report_settings.tree,
parent_field: this.report_settings.parent_field
}, },
callback: resolve, callback: resolve,
always: () => this.page.btn_secondary.prop('disabled', false) always: () => this.page.btn_secondary.prop('disabled', false)


Loading…
Cancel
Save