diff options
| author | Christophe Simonis <chs@odoo.com> | 2019-06-27 14:25:31 +0200 |
|---|---|---|
| committer | Christophe Simonis <chs@odoo.com> | 2019-06-27 14:25:31 +0200 |
| commit | b1d43cc80e2dd5d6efeea60e9c74490fe2f70014 (patch) | |
| tree | 9520f3795703d417cc3aabb4932619ed0a750511 | |
| parent | 255088ba52e80f9cbe4146b3f8186505f50e9f8f (diff) | |
| parent | d090c92782a4e552811a8fb928e961d06185f2ac (diff) | |
[MERGE] forward port branch saas-15 up to d090c92782a
| -rw-r--r-- | addons/web/static/src/js/fields/basic_fields.js | 2 | ||||
| -rw-r--r-- | odoo/addons/base/ir/ir_http.py | 9 |
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 |
