[FIX] base: Traceback when uploading a file with no ASCII name

When trying to upload a file with no ASCII name, it raised a
traceback saying: "UnicodeEncodeError: 'ascii' codec can't encode character ..."

opw:1886602
This commit is contained in:
Goffin Simon
2018-09-24 09:25:53 +02:00
parent 123b7138c2
commit 1ec6c069aa
2 changed files with 10 additions and 1 deletions
+6
View File
@@ -4821,6 +4821,12 @@ msgstr ""
msgid "A9 13 37 x 52 mm"
msgstr ""
#. module: base
#: code:addons/fields.py:1687
#, python-format
msgid "ASCII characters are required for %s in %s"
msgstr ""
#. module: base
#: model:ir.model.fields,field_description:base.field_res_partner_title__shortcut
msgid "Abbreviation"
+4 -1
View File
@@ -1681,7 +1681,10 @@ class Binary(Field):
return None
if isinstance(value, bytes):
return psycopg2.Binary(value)
return psycopg2.Binary(pycompat.text_type(value).encode('ascii'))
try:
return psycopg2.Binary(pycompat.text_type(value).encode('ascii'))
except UnicodeEncodeError:
raise UserError(_("ASCII characters are required for %s in %s") % (value, self.name))
def convert_to_cache(self, value, record, validate=True):
if isinstance(value, _BINARY):