From 8ef25456654d077450fbf071b36aa2feb4ae97a2 Mon Sep 17 00:00:00 2001 From: Fisher Yu <12823863+szufisher@users.noreply.github.com> Date: Thu, 11 Mar 2021 16:57:37 +0800 Subject: [PATCH] fix: encode filename to handle special characters (#12478) * fix: same as previous row treated as one doc treat repeated parent doc rows as same doc(parent), because legacy system downloaded data with inner join will normally have repeat same content for the parent docs * fix: attached url with utf8 characters file name e.g Chinese fix attached file via URL in comment by file name with utf8 characters * fix: revert as it is already in other PR * refactor: use frappe.safe_encode Co-authored-by: Faris Ansari --- frappe/core/doctype/data_import/importer.py | 4 ++-- frappe/core/doctype/file/file.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/frappe/core/doctype/data_import/importer.py b/frappe/core/doctype/data_import/importer.py index 7caf69e668..388d9389f2 100644 --- a/frappe/core/doctype/data_import/importer.py +++ b/frappe/core/doctype/data_import/importer.py @@ -449,8 +449,8 @@ class ImportFile: data_without_first_row = data[1:] for row in data_without_first_row: row_values = row.get_values(parent_column_indexes) - # if the row is blank or same content as the previous parent row, it's a child row doc - if all([v in INVALID_VALUES for v in row_values]) or row_values == parent_row_values: + # if the row is blank, it's a child row doc + if all([v in INVALID_VALUES for v in row_values]): rows.append(row) continue # if we encounter a row which has values in parent columns, diff --git a/frappe/core/doctype/file/file.py b/frappe/core/doctype/file/file.py index 445ca1184d..c237b8e436 100755 --- a/frappe/core/doctype/file/file.py +++ b/frappe/core/doctype/file/file.py @@ -75,7 +75,7 @@ class File(Document): self.add_comment_in_reference_doc('Attachment', _('Added {0}').format("{file_name}{icon}".format(**{ "icon": ' ' if self.is_private else "", - "file_url": quote(self.file_url) if self.file_url else self.file_name, + "file_url": quote(frappe.safe_encode(self.file_url)) if self.file_url else self.file_name, "file_name": self.file_name or self.file_url })))