diff options
| author | Xavier Morel <xmo@odoo.com> | 2019-07-02 09:49:18 +0200 |
|---|---|---|
| committer | Xavier Morel <xmo@odoo.com> | 2019-07-02 10:03:28 +0200 |
| commit | 97f5e2ff0df41878842e604f11cf567e373a9b1e (patch) | |
| tree | 77f1397da7ef8b39fe26cdc80621ca8d40e3f600 | |
| parent | 2f2bc67c06781d5072ed904c441b31d80675fe9c (diff) | |
[FIX] base: don't overwrite existing extensions
The point was to fix files attachments without an extension,
potentially appending to existing extensions was not a smart idea.
See #34299, 5eb15c01b556620c77c0f7327494d4bf3117d115
| -rw-r--r-- | odoo/addons/base/models/ir_http.py | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/odoo/addons/base/models/ir_http.py b/odoo/addons/base/models/ir_http.py index b4fb3065c67..d3aa8fd1ae2 100644 --- a/odoo/addons/base/models/ir_http.py +++ b/odoo/addons/base/models/ir_http.py @@ -346,9 +346,11 @@ class IrHttp(models.AbstractModel): mimetype = guess_mimetype(base64.b64decode(content), default=default_mimetype) # extension - extension = mimetypes.guess_extension(mimetype) - if extension and not filename.endswith(extension): - filename = "%s%s" % (filename, extension) + _, existing_extension = os.path.splitext(filename) + if not existing_extension: + extension = mimetypes.guess_extension(mimetype) + if extension: + filename = "%s%s" % (filename, extension) headers += [('Content-Type', mimetype), ('X-Content-Type-Options', 'nosniff')] |
