diff --git a/frappe/core/doctype/data_import/export_template.html b/frappe/core/doctype/data_import/export_template.html deleted file mode 100644 index 6d043821a6..0000000000 --- a/frappe/core/doctype/data_import/export_template.html +++ /dev/null @@ -1,24 +0,0 @@ -
-

{{ __("Select Columns Manually") }}

- {% for doctype in doctype_list %} -
{{ doctype.name }}
-
- {% for f in doctype.fields %} - {% if (frappe.model.no_value_type.indexOf(f.fieldtype)===-1 && !f.hidden) %} - {% doctype.reqd||(f.reqd=0);%} -
-
- -
-
- {% endif %} - {% endfor %} -
- {% endfor %} -
- \ No newline at end of file diff --git a/frappe/core/doctype/data_import/importer.py b/frappe/core/doctype/data_import/importer.py index 51f92c879b..1b43047f63 100644 --- a/frappe/core/doctype/data_import/importer.py +++ b/frappe/core/doctype/data_import/importer.py @@ -127,6 +127,8 @@ def upload(rows = None, submit_after_import=None, ignore_encoding_errors=False, def get_doc(start_idx): if doctypes: doc = {} + attachments = [] + last_error_row_idx = None for idx in range(start_idx, len(rows)): last_error_row_idx = idx # pylint: disable=W0612 if (not doc) or main_doc_empty(rows[idx]): @@ -187,7 +189,7 @@ def upload(rows = None, submit_after_import=None, ignore_encoding_errors=False, else: break - return doc, last_error_row_idx + return doc, attachments, last_error_row_idx else: doc = frappe._dict(zip(columns, rows[start_idx][1:])) doc['doctype'] = doctype @@ -281,10 +283,8 @@ def upload(rows = None, submit_after_import=None, ignore_encoding_errors=False, doctypes = [] column_idx_to_fieldname = {} column_idx_to_fieldtype = {} - attachments = [] if skip_errors: - last_error_row_idx = None data_rows_with_error = header if submit_after_import and not cint(frappe.db.get_value("DocType", @@ -354,7 +354,7 @@ def upload(rows = None, submit_after_import=None, ignore_encoding_errors=False, publish_progress(i) try: - doc, last_error_row_idx = get_doc(row_idx) + doc, attachments, last_error_row_idx = get_doc(row_idx) validate_naming(doc) if pre_process: pre_process(doc) @@ -416,7 +416,10 @@ def upload(rows = None, submit_after_import=None, ignore_encoding_errors=False, log(**{"row": row_idx + 1, "title":'Error for row %s' % (len(row)>1 and row[1] or ""), "message": err_msg, "indicator": "red", "link":error_link}) # data with error to create a new file + # include the errored data in the last row as last_error_row_idx will not be updated for the last row if skip_errors: + if last_error_row_idx == len(rows)-1: + last_error_row_idx = len(rows) data_rows_with_error += rows[row_idx:last_error_row_idx] else: rollback_flag = True