diff --git a/frappe/core/doctype/prepared_report/prepared_report.js b/frappe/core/doctype/prepared_report/prepared_report.js index 587bf2b5c3..4564175d09 100644 --- a/frappe/core/doctype/prepared_report/prepared_report.js +++ b/frappe/core/doctype/prepared_report/prepared_report.js @@ -14,9 +14,13 @@ frappe.ui.form.on('Prepared Report', { let data = r.message; frappe.flags.prepared_report = { data: data, - name: frm.doc.name + name: frm.doc.name, + generated_on: frm.doc.report_end_time, + filters: JSON.parse(frm.doc.filters) }; + frappe.route_options = JSON.parse(JSON.parse(frm.doc.filters)); + frappe.set_route("query-report", frm.doc.report_name); } } diff --git a/frappe/core/doctype/prepared_report/prepared_report.py b/frappe/core/doctype/prepared_report/prepared_report.py index 9267af6f6b..8e076fc9cd 100644 --- a/frappe/core/doctype/prepared_report/prepared_report.py +++ b/frappe/core/doctype/prepared_report/prepared_report.py @@ -70,7 +70,7 @@ def get_report_attachment_data(dn): return { 'columns': data[0], - 'result': data[-1:] + 'result': data[1:] } @frappe.whitelist() diff --git a/frappe/desk/query_report.py b/frappe/desk/query_report.py index ff349ec421..61e2017a2f 100644 --- a/frappe/desk/query_report.py +++ b/frappe/desk/query_report.py @@ -153,6 +153,7 @@ def run(report_name, filters=None, user=None): doc_list = frappe.get_list("Prepared Report", filters={"status": "Completed", "ref_report_doctype": report}) columns = [] result = [] + doc = {} if len(doc_list): doc = frappe.get_doc("Prepared Report", doc_list[0]) data = read_csv_content_from_attached_file(doc) @@ -163,8 +164,9 @@ def run(report_name, filters=None, user=None): "prepared_report": True, "data": { "columns": columns, - "result": result - } + "result": result, + }, + "prepared_doc": doc } else: return generate_report_result(report, filters, user) diff --git a/frappe/public/js/frappe/ui/page.js b/frappe/public/js/frappe/ui/page.js index e326f3c1f4..c0a2d6cef3 100644 --- a/frappe/public/js/frappe/ui/page.js +++ b/frappe/public/js/frappe/ui/page.js @@ -364,7 +364,7 @@ frappe.ui.Page = Class.extend({ * @param {object} action - function to be called when button is clicked * @param {string} group - Label of the group button */ - add_inner_button: function(label, action, group) { + add_inner_button: function(label, action, group, type="default") { var me = this; let _action = function() { let btn = $(this); @@ -384,7 +384,7 @@ frappe.ui.Page = Class.extend({ } else { var button = this.inner_toolbar.find('button[data-label="'+encodeURIComponent(label)+'"]'); if( button.length == 0 ) { - return $('