From 421e93457babe2fc9f53aef5a223f857ac7fa658 Mon Sep 17 00:00:00 2001 From: Faris Ansari Date: Tue, 3 Sep 2019 18:05:22 +0530 Subject: [PATCH] fix: Option to export blank template --- frappe/core/doctype/data_import/exporter_new.py | 4 ++-- frappe/core/doctype/data_import_beta/data_import_beta.js | 6 ++++++ frappe/core/doctype/data_import_beta/data_import_beta.py | 5 +++-- frappe/public/js/frappe/data_import/data_exporter.js | 7 ++++++- 4 files changed, 17 insertions(+), 5 deletions(-) diff --git a/frappe/core/doctype/data_import/exporter_new.py b/frappe/core/doctype/data_import/exporter_new.py index aad4ecc3f2..36e2d87800 100644 --- a/frappe/core/doctype/data_import/exporter_new.py +++ b/frappe/core/doctype/data_import/exporter_new.py @@ -245,7 +245,7 @@ class Exporter: csv_array = self.csv_array if not self.data: - # add 5 empty rows - csv_array += [[]] * 5 + # add 2 empty rows + csv_array += [[]] * 2 build_csv_response(csv_array, self.doctype) diff --git a/frappe/core/doctype/data_import_beta/data_import_beta.js b/frappe/core/doctype/data_import_beta/data_import_beta.js index 938a67fe8c..08e848b9f2 100644 --- a/frappe/core/doctype/data_import_beta/data_import_beta.js +++ b/frappe/core/doctype/data_import_beta/data_import_beta.js @@ -34,6 +34,12 @@ frappe.ui.form.on('Data Import Beta', { } } }); + + frm.get_field('import_file').df.options = { + restrictions: { + allowed_file_types: ['.csv', '.xls', '.xlsx'] + } + }; }, refresh(frm) { diff --git a/frappe/core/doctype/data_import_beta/data_import_beta.py b/frappe/core/doctype/data_import_beta/data_import_beta.py index f101438a24..be8b8b8c38 100644 --- a/frappe/core/doctype/data_import_beta/data_import_beta.py +++ b/frappe/core/doctype/data_import_beta/data_import_beta.py @@ -59,18 +59,19 @@ def download_template(doctype, export_fields=None, export_records=None, export_f Download template from Exporter :param doctype: Document Type :param export_fields=None: Fields to export as dict {'Sales Invoice': ['name', 'customer'], 'Sales Invoice Item': ['item_code']} - :param export_records=None: One of 'all', 'last_10_records', 'by_filter' + :param export_records=None: One of 'all', 'by_filter', 'blank_template' :param export_filters: Filter dict :param file_type: File type to export into """ export_fields = frappe.parse_json(export_fields) export_filters = frappe.parse_json(export_filters) + export_data = export_records != 'blank_template' e = Exporter( doctype, export_fields=export_fields, - export_data=True, + export_data=export_data, export_filters=export_filters, file_type=file_type, ) diff --git a/frappe/public/js/frappe/data_import/data_exporter.js b/frappe/public/js/frappe/data_import/data_exporter.js index 0532d5b002..b4121411ea 100644 --- a/frappe/public/js/frappe/data_import/data_exporter.js +++ b/frappe/public/js/frappe/data_import/data_exporter.js @@ -30,6 +30,10 @@ frappe.data_import.DataExporter = class DataExporter { { label: __('Export Filtered Records'), value: 'by_filter' + }, + { + label: __('Export Blank Template'), + value: 'blank_template' } ], default: 'all', @@ -200,7 +204,8 @@ frappe.data_import.DataExporter = class DataExporter { by_filter: () => frappe.db.count(this.doctype, { filters: this.get_filters() - }) + }), + blank_template: () => Promise.resolve(0) }; count_method[export_records]().then(value => {