From 26bfbf0cfc48ec7bd9bbf92e894b8104131f825f Mon Sep 17 00:00:00 2001 From: "mergify[bot]" <37929162+mergify[bot]@users.noreply.github.com> Date: Mon, 3 Oct 2022 12:12:50 +0530 Subject: [PATCH] fix(Data Import): don't validate empty values (#17923) (#18275) * refactor: exclude header from column values earlier * fix: don't validate empty columns Co-authored-by: Ankush Menat (cherry picked from commit 513321810db298297b4ffb3e715e81d9c14877d6) Co-authored-by: Raffael Meyer <14891507+barredterra@users.noreply.github.com> --- frappe/core/doctype/data_import/importer.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/frappe/core/doctype/data_import/importer.py b/frappe/core/doctype/data_import/importer.py index 7ff25118b1..57849e5cfc 100644 --- a/frappe/core/doctype/data_import/importer.py +++ b/frappe/core/doctype/data_import/importer.py @@ -449,7 +449,7 @@ class ImportFile: continue if not header: - header = Header(i, row, self.doctype, self.raw_data, self.column_to_field_map) + header = Header(i, row, self.doctype, self.raw_data[1:], self.column_to_field_map) else: row_obj = Row(i, row, self.doctype, header, self.import_type) data.append(row_obj) @@ -981,9 +981,12 @@ class Column: if self.skip_import: return + if not any(self.column_values): + return + if self.df.fieldtype == "Link": # find all values that dont exist - values = list({cstr(v) for v in self.column_values[1:] if v}) + values = list({cstr(v) for v in self.column_values if v}) exists = [ cstr(d.name) for d in frappe.get_all(self.df.options, filters={"name": ("in", values)}) ] @@ -1022,7 +1025,7 @@ class Column: elif self.df.fieldtype == "Select": options = get_select_options(self.df) if options: - values = {cstr(v) for v in self.column_values[1:] if v} + values = {cstr(v) for v in self.column_values if v} invalid = values - set(options) if invalid: valid_values = ", ".join(frappe.bold(o) for o in options)