ソースを参照

[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 = run(report_name, filters)
data = frappe._dict(data) data = frappe._dict(data)

columns = get_columns_dict(data.columns) 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 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['filename'] = report_name + '.xlsx'
frappe.response['filecontent'] = xlsx_file.getvalue() 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, 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 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): for idx, col in enumerate(columns):
col_dict = {}
col_dict = frappe._dict()


# string # string
if isinstance(col, basestring): 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); }, me.report_doc.letter_head);
}, true); }, 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() { this.page.add_menu_item(__("Setup Auto Email"), function() {
frappe.set_route('List', 'Auto Email Report', {'report' : me.report_name}); 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") { else if (data.file_format_type == "Excel") {

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


読み込み中…
キャンセル
保存