diff --git a/frappe/core/doctype/prepared_report/prepared_report.py b/frappe/core/doctype/prepared_report/prepared_report.py
index 55ab471fca..a0fe22aa92 100644
--- a/frappe/core/doctype/prepared_report/prepared_report.py
+++ b/frappe/core/doctype/prepared_report/prepared_report.py
@@ -11,13 +11,14 @@ import frappe
from frappe.model.document import Document
from frappe.utils.background_jobs import enqueue
from frappe.desk.query_report import generate_report_result, get_columns_dict
-from frappe.utils.file_manager import save_file
+from frappe.utils.file_manager import save_file, remove_all
from frappe.utils.csvutils import to_csv, read_csv_content_from_attached_file
from frappe.desk.form.load import get_attachments
from frappe.utils.file_manager import download_file
class PreparedReport(Document):
+
def before_insert(self):
self.status = "Queued"
self.report_start_time = frappe.utils.now()
@@ -28,6 +29,9 @@ class PreparedReport(Document):
instance=self, timeout=6000
)
+ def on_trash(self):
+ remove_all("PreparedReport", self.name, from_delete=True)
+
def run_background(instance):
report = frappe.get_doc("Report", instance.ref_report_doctype)
@@ -47,6 +51,7 @@ def run_background(instance):
# TODO:
# Send Email to user
+
def remove_header_meta(columns):
column_list = []
columns_header = get_columns_dict(columns)
@@ -81,8 +86,8 @@ def get_report_attachment_data(dn):
'result': data[1:]
}
+
@frappe.whitelist()
def download_attachment(dn):
- doc = frappe.get_doc("Prepared Report", dn)
attachment = get_attachments("Prepared Report", dn)[0]
download_file(attachment.file_url)
diff --git a/frappe/desk/query_report.py b/frappe/desk/query_report.py
index d87bb68ed7..0d031fd9f6 100644
--- a/frappe/desk/query_report.py
+++ b/frappe/desk/query_report.py
@@ -11,7 +11,6 @@ from frappe.modules import scrub, get_module_path
from frappe.utils import flt, cint, get_html_format, cstr, get_url_to_form
from frappe.model.utils import render_include
from frappe.translate import send_translations
-from frappe.utils.csvutils import read_csv_content_from_attached_file
import frappe.desk.reportview
from frappe.utils.csvutils import read_csv_content_from_attached_file
from frappe.permissions import get_role_permissions
diff --git a/frappe/public/js/frappe/views/reports/query_report.js b/frappe/public/js/frappe/views/reports/query_report.js
index d73c09cb1d..8116f12afe 100644
--- a/frappe/public/js/frappe/views/reports/query_report.js
+++ b/frappe/public/js/frappe/views/reports/query_report.js
@@ -67,7 +67,7 @@ frappe.views.QueryReport = class QueryReport extends frappe.views.BaseList {
View`;
frappe.show_alert({message: alert_message, indicator: 'orange'});
}
- })
+ });
}
load() {
@@ -225,7 +225,7 @@ frappe.views.QueryReport = class QueryReport extends frappe.views.BaseList {
}
refresh() {
- this.toggle_message(true);
+ this.toggle_message(true);
let filters = this.get_filter_values(true);
let query = frappe.utils.get_query_string(frappe.get_route_str());
@@ -264,13 +264,13 @@ frappe.views.QueryReport = class QueryReport extends frappe.views.BaseList {
}
add_prepared_report_buttons(doc) {
- if (doc){
- this.page.add_inner_button(__("Download Report"), function () {
+ if(doc){
+ this.page.add_inner_button(__("Download Report"), function (){
frappe.call({
method:"frappe.core.doctype.prepared_report.prepared_report.download_attachment",
args: {"dn": flags.name}
});
- });
+ });
frappe.route_options = {
report_name: doc.report_name,
@@ -301,7 +301,7 @@ frappe.views.QueryReport = class QueryReport extends frappe.views.BaseList {
filters: filters
},
callback: resolve
- })).then(r => {
+ })).then(r => {
const data = r.message;
let alert_message = `Report initiated. You can track its status
here`;
@@ -310,9 +310,7 @@ frappe.views.QueryReport = class QueryReport extends frappe.views.BaseList {
});
}
}, "", "primary");
-
-
- }
+ }
render_report(data) {
this.columns = this.prepare_columns(data.columns);