diff --git a/frappe/desk/query_report.py b/frappe/desk/query_report.py index f672cb061d..d87bb68ed7 100644 --- a/frappe/desk/query_report.py +++ b/frappe/desk/query_report.py @@ -191,6 +191,10 @@ def get_prepared_report_result(report, filters, dn=""): "prepared_report": True, "data": latest_report_data, "doc": doc + # "message": message, + # "chart": chart, + # "data_to_be_printed": data_to_be_printed, + # "status": status } diff --git a/frappe/public/js/frappe/views/reports/query_report.js b/frappe/public/js/frappe/views/reports/query_report.js index 6cbabb44be..9dbca60c63 100644 --- a/frappe/public/js/frappe/views/reports/query_report.js +++ b/frappe/public/js/frappe/views/reports/query_report.js @@ -235,6 +235,8 @@ frappe.views.QueryReport = class QueryReport extends frappe.views.BaseList { })).then(r => { let data = r.message; + this.hide_status(); + if (data.prepared_report){ this.prepared_report = true; this.add_prepared_report_buttons(data.doc); @@ -257,27 +259,25 @@ frappe.views.QueryReport = class QueryReport extends frappe.views.BaseList { method:"frappe.core.doctype.prepared_report.prepared_report.download_attachment", args: {"dn": flags.name} }); - }); - let $message = this.page.add_inner_message(__(` - This report was generated - on ${doc.report_end_time}. - See all. - `)); + }); + + frappe.route_options = { + report_name: doc.report_name, + filters: doc.filters + }; let filters = JSON.parse(JSON.parse(doc.filters)); this.set_filters(filters); - - $message.on('click', () => { - frappe.route_options = { - report_name: doc.report_name, - filters: doc.filters - }; - frappe.set_route("List", "Prepared Report"); - }) + + this.show_status(__(` + This report was generated + on ${frappe.datetime.convert_to_user_tz(doc.report_end_time)}. + See all past reports. + `)); } - this.page.add_inner_button(__("Generate Report"), () => { + this.page.add_inner_button(__("Generate New Report"), () => { let mandatory = this.filters.filter(f => f.df.reqd); let missing_mandatory = mandatory.filter(f => !f.get_value()); if (!missing_mandatory.length){ @@ -647,11 +647,24 @@ frappe.views.QueryReport = class QueryReport extends frappe.views.BaseList { setup_report_wrapper() { if (this.$report) return; + + let inner_toolbar = this.page.main.find('.form-inner-toolbar'); + this.$status = $(`
`) + .hide().insertAfter(inner_toolbar); + this.$chart = $('
').hide().appendTo(this.page.main); this.$report = $('
').appendTo(this.page.main); this.$message = $(this.message_div('')).hide().appendTo(this.page.main); } + show_status(status_message) { + this.$status.html(status_message).show(); + } + + hide_status() { + this.$status.hide(); + } + message_div(message) { return `
${message}