Преглед на файлове

[Fix] Export Query Report (#2883)

* [Fix] Export Query Report

* Update query_report.py
version-14
Manas Solanki преди 8 години
committed by Rushabh Mehta
родител
ревизия
20bb54592b
променени са 2 файла, в които са добавени 23 реда и са изтрити 11 реда
  1. +20
    -7
      frappe/desk/query_report.py
  2. +3
    -4
      frappe/public/js/frappe/views/reports/query_report.js

+ 20
- 7
frappe/desk/query_report.py Целия файл

@@ -132,14 +132,27 @@ def export_query():

data = run(report_name, filters)
data = frappe._dict(data)

columns = get_columns_dict(data.columns)
content = []
for col in columns.values():
content.append(col["label"])

result = [[]]

# add column headings
for idx in range(len(data.columns)):
result[0].append(columns[idx]["label"])
# build table from dict
if isinstance(data.result[0], dict):
for row in data.result:
if row:
row_list = []
for idx in range(len(data.columns)):
row_list.append(row[columns[idx]["fieldname"]])
result.append(row_list)
else:
result = result + data.result

from frappe.utils.xlsxutils import make_xlsx
xlsx_file = make_xlsx([content] + data.result, "Query Report")
xlsx_file = make_xlsx(result, "Query Report")

frappe.response['filename'] = report_name + '.xlsx'
frappe.response['filecontent'] = xlsx_file.getvalue()
@@ -321,9 +334,9 @@ def get_columns_dict(columns):
The keys for the dict are both idx and fieldname,
so either index or fieldname can be used to search for a column's docfield properties
"""
columns_dict = {}
columns_dict = frappe._dict()
for idx, col in enumerate(columns):
col_dict = {}
col_dict = frappe._dict()

# string
if isinstance(col, basestring):


+ 3
- 4
frappe/public/js/frappe/views/reports/query_report.js Целия файл

@@ -89,8 +89,9 @@ frappe.views.QueryReport = Class.extend({
}, me.report_doc.letter_head);
}, true);

this.page.add_menu_item(__('Export'), function() { me.make_export(); },
true);
this.page.add_menu_item(__('Export'), function() {
me.make_export();
}, true);

this.page.add_menu_item(__("Setup Auto Email"), function() {
frappe.set_route('List', 'Auto Email Report', {'report' : me.report_name});
@@ -821,8 +822,6 @@ frappe.views.QueryReport = Class.extend({
}

else if (data.file_format_type == "Excel") {

me.wrapper.find(".results").toggle(false);
try {
var filters = me.get_values(true);
} catch(e) {


Зареждане…
Отказ
Запис