summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristophe Simonis <chs@odoo.com>2019-06-27 14:25:31 +0200
committerChristophe Simonis <chs@odoo.com>2019-06-27 14:25:31 +0200
commitb1d43cc80e2dd5d6efeea60e9c74490fe2f70014 (patch)
tree9520f3795703d417cc3aabb4932619ed0a750511
parent255088ba52e80f9cbe4146b3f8186505f50e9f8f (diff)
parentd090c92782a4e552811a8fb928e961d06185f2ac (diff)
[MERGE] forward port branch saas-15 up to d090c92782a
-rw-r--r--addons/web/static/src/js/fields/basic_fields.js2
-rw-r--r--odoo/addons/base/ir/ir_http.py9
2 files changed, 8 insertions, 3 deletions
diff --git a/addons/web/static/src/js/fields/basic_fields.js b/addons/web/static/src/js/fields/basic_fields.js
index 97f3c056c5d..a3136541ca3 100644
--- a/addons/web/static/src/js/fields/basic_fields.js
+++ b/addons/web/static/src/js/fields/basic_fields.js
@@ -1347,7 +1347,7 @@ var FieldBinaryFile = AbstractFieldBinary.extend({
'id': this.res_id,
'field': this.name,
'filename_field': filename_fieldname,
- 'filename': this.recordData[filename_fieldname] || null,
+ 'filename': this.recordData[filename_fieldname] || "",
'download': true,
'data': utils.is_bin_size(this.value) ? null : this.value,
},
diff --git a/odoo/addons/base/ir/ir_http.py b/odoo/addons/base/ir/ir_http.py
index fc0fadd9a59..b4fb3065c67 100644
--- a/odoo/addons/base/ir/ir_http.py
+++ b/odoo/addons/base/ir/ir_http.py
@@ -328,9 +328,9 @@ class IrHttp(models.AbstractModel):
if not filename:
if filename_field in obj:
filename = obj[filename_field]
- elif module_resource_path:
+ if not filename and module_resource_path:
filename = os.path.basename(module_resource_path)
- else:
+ if not filename:
filename = "%s-%s-%s" % (obj._name, obj.id, field)
# mimetype
@@ -345,6 +345,11 @@ class IrHttp(models.AbstractModel):
if not mimetype:
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)
+
headers += [('Content-Type', mimetype), ('X-Content-Type-Options', 'nosniff')]
# cache