From eb4e2bce397b6fe625a8a1c5ca2af7d25585f285 Mon Sep 17 00:00:00 2001 From: Deepesh Garg <42651287+deepeshgarg007@users.noreply.github.com> Date: Fri, 10 May 2019 18:17:47 +0530 Subject: [PATCH] fix: Auto email support for Custom Reports (#7441) * fix: Added reference_report field * fix: Auto email support for custom reports * fix: Styling fixes * fix: Use let instead of var --- frappe/core/doctype/report/report.py | 2 +- .../auto_email_report/auto_email_report.js | 16 +++++- .../auto_email_report/auto_email_report.json | 57 ++++++++++++++++++- 3 files changed, 70 insertions(+), 5 deletions(-) diff --git a/frappe/core/doctype/report/report.py b/frappe/core/doctype/report/report.py index 789c989439..cbec5ecbbc 100644 --- a/frappe/core/doctype/report/report.py +++ b/frappe/core/doctype/report/report.py @@ -100,7 +100,7 @@ class Report(Document): columns = [] out = [] - if self.report_type in ('Query Report', 'Script Report'): + if self.report_type in ('Query Report', 'Script Report', 'Custom Report'): # query and script reports data = frappe.desk.query_report.run(self.name, filters=filters, user=user) for d in data.get('columns'): diff --git a/frappe/email/doctype/auto_email_report/auto_email_report.js b/frappe/email/doctype/auto_email_report/auto_email_report.js index ba8ab37a99..d19ddb3f67 100644 --- a/frappe/email/doctype/auto_email_report/auto_email_report.js +++ b/frappe/email/doctype/auto_email_report/auto_email_report.js @@ -54,9 +54,9 @@ frappe.ui.form.on('Auto Email Report', { show_filters: function(frm) { var wrapper = $(frm.get_field('filters_display').wrapper); wrapper.empty(); - if(frm.doc.report_type !== 'Report Builder' + if(frm.doc.report_type === 'Custom Report' || (frm.doc.report_type !== 'Report Builder' && frappe.query_reports[frm.doc.report] - && frappe.query_reports[frm.doc.report].filters) { + && frappe.query_reports[frm.doc.report].filters)) { // make a table to show filters var table = $('\ @@ -65,7 +65,17 @@ frappe.ui.form.on('Auto Email Report', { $('

' + __("Click table to edit") + '

').appendTo(wrapper); var filters = JSON.parse(frm.doc.filters || '{}'); - var report_filters = frappe.query_reports[frm.doc.report].filters; + + let report_filters; + + if (frm.doc.report_type === 'Custom Report' + && frappe.query_reports[frm.doc.reference_report] + && frappe.query_reports[frm.doc.reference_report].filters) { + report_filters = frappe.query_reports[frm.doc.reference_report].filters; + } else { + report_filters = frappe.query_reports[frm.doc.report].filters; + } + if(report_filters && report_filters.length > 0) { frm.set_value('filter_meta', JSON.stringify(report_filters)); } diff --git a/frappe/email/doctype/auto_email_report/auto_email_report.json b/frappe/email/doctype/auto_email_report/auto_email_report.json index f04f34cdba..b6de0a16fc 100644 --- a/frappe/email/doctype/auto_email_report/auto_email_report.json +++ b/frappe/email/doctype/auto_email_report/auto_email_report.json @@ -21,6 +21,7 @@ "bold": 0, "collapsible": 0, "columns": 0, + "fetch_if_empty": 0, "fieldname": "report", "fieldtype": "Link", "hidden": 0, @@ -55,6 +56,7 @@ "collapsible": 0, "columns": 0, "default": "User", + "fetch_if_empty": 0, "fieldname": "user", "fieldtype": "Link", "hidden": 0, @@ -89,6 +91,7 @@ "collapsible": 0, "columns": 0, "default": "1", + "fetch_if_empty": 0, "fieldname": "enabled", "fieldtype": "Check", "hidden": 0, @@ -121,6 +124,7 @@ "bold": 0, "collapsible": 0, "columns": 0, + "fetch_if_empty": 0, "fieldname": "column_break_4", "fieldtype": "Column Break", "hidden": 0, @@ -153,6 +157,7 @@ "collapsible": 0, "columns": 0, "fetch_from": "report.report_type", + "fetch_if_empty": 0, "fieldname": "report_type", "fieldtype": "Read Only", "hidden": 0, @@ -186,6 +191,41 @@ "bold": 0, "collapsible": 0, "columns": 0, + "fetch_from": "report.reference_report", + "fetch_if_empty": 0, + "fieldname": "reference_report", + "fieldtype": "Data", + "hidden": 1, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_standard_filter": 0, + "label": "Reference Report", + "length": 0, + "no_copy": 0, + "permlevel": 0, + "precision": "", + "print_hide": 0, + "print_hide_if_no_value": 0, + "read_only": 1, + "remember_last_selected_value": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, + "translatable": 0, + "unique": 0 + }, + { + "allow_bulk_edit": 0, + "allow_in_quick_entry": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "columns": 0, + "fetch_if_empty": 0, "fieldname": "filter_data", "fieldtype": "Section Break", "hidden": 0, @@ -219,6 +259,7 @@ "collapsible": 0, "columns": 0, "default": "1", + "fetch_if_empty": 0, "fieldname": "send_if_data", "fieldtype": "Check", "hidden": 0, @@ -254,6 +295,7 @@ "default": "", "depends_on": "eval:doc.report_type=='Report Builder'", "description": "Zero means send records updated at anytime", + "fetch_if_empty": 0, "fieldname": "data_modified_till", "fieldtype": "Int", "hidden": 0, @@ -288,6 +330,7 @@ "columns": 0, "default": "100", "description": "", + "fetch_if_empty": 0, "fieldname": "no_of_rows", "fieldtype": "Int", "hidden": 0, @@ -321,6 +364,7 @@ "collapsible": 1, "columns": 0, "depends_on": "eval:doc.report_type !== 'Report Builder'", + "fetch_if_empty": 0, "fieldname": "report_filters", "fieldtype": "Section Break", "hidden": 0, @@ -353,6 +397,7 @@ "bold": 0, "collapsible": 0, "columns": 0, + "fetch_if_empty": 0, "fieldname": "filters_display", "fieldtype": "HTML", "hidden": 0, @@ -385,6 +430,7 @@ "bold": 0, "collapsible": 0, "columns": 0, + "fetch_if_empty": 0, "fieldname": "filters", "fieldtype": "Text", "hidden": 1, @@ -417,6 +463,7 @@ "bold": 0, "collapsible": 0, "columns": 0, + "fetch_if_empty": 0, "fieldname": "filter_meta", "fieldtype": "Text", "hidden": 1, @@ -449,6 +496,7 @@ "bold": 0, "collapsible": 0, "columns": 0, + "fetch_if_empty": 0, "fieldname": "email_settings", "fieldtype": "Section Break", "hidden": 0, @@ -481,6 +529,7 @@ "bold": 0, "collapsible": 0, "columns": 0, + "fetch_if_empty": 0, "fieldname": "email_to", "fieldtype": "Small Text", "hidden": 0, @@ -515,6 +564,7 @@ "columns": 0, "default": "Monday", "depends_on": "eval:doc.frequency=='Weekly'", + "fetch_if_empty": 0, "fieldname": "day_of_week", "fieldtype": "Select", "hidden": 0, @@ -548,6 +598,7 @@ "bold": 0, "collapsible": 0, "columns": 0, + "fetch_if_empty": 0, "fieldname": "column_break_13", "fieldtype": "Column Break", "hidden": 0, @@ -579,6 +630,7 @@ "bold": 0, "collapsible": 0, "columns": 0, + "fetch_if_empty": 0, "fieldname": "frequency", "fieldtype": "Select", "hidden": 0, @@ -612,6 +664,7 @@ "bold": 0, "collapsible": 0, "columns": 0, + "fetch_if_empty": 0, "fieldname": "format", "fieldtype": "Select", "hidden": 0, @@ -645,6 +698,7 @@ "bold": 0, "collapsible": 1, "columns": 0, + "fetch_if_empty": 0, "fieldname": "section_break_15", "fieldtype": "Section Break", "hidden": 0, @@ -677,6 +731,7 @@ "bold": 0, "collapsible": 0, "columns": 0, + "fetch_if_empty": 0, "fieldname": "description", "fieldtype": "Text Editor", "hidden": 0, @@ -713,7 +768,7 @@ "issingle": 0, "istable": 0, "max_attachments": 0, - "modified": "2018-11-13 01:59:17.816718", + "modified": "2019-05-09 21:45:36.944865", "modified_by": "Administrator", "module": "Email", "name": "Auto Email Report",