summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristophe Simonis <chs@odoo.com>2019-06-27 12:41:15 +0200
committerChristophe Simonis <chs@odoo.com>2019-06-27 12:41:15 +0200
commit1985a49b92ce89da1d4bf182c68a13e964ecd444 (patch)
tree42ef76ea9e43865e0c8f1ae0d02d71a32bacdcc2
parent2a89adef2a21c3c5f4d94d981c22fdeb8637a9d2 (diff)
parent5eb15c01b556620c77c0f7327494d4bf3117d115 (diff)
[MERGE] forward port branch 10.0 up to 5eb15c01b55
-rw-r--r--addons/l10n_fr_fec/wizard/account_fr_fec.py4
-rw-r--r--addons/web/static/src/js/views/form_widgets.js2
-rw-r--r--odoo/addons/base/ir/ir_http.py9
3 files changed, 10 insertions, 5 deletions
diff --git a/addons/l10n_fr_fec/wizard/account_fr_fec.py b/addons/l10n_fr_fec/wizard/account_fr_fec.py
index 42c21c4f675..89be7525129 100644
--- a/addons/l10n_fr_fec/wizard/account_fr_fec.py
+++ b/addons/l10n_fr_fec/wizard/account_fr_fec.py
@@ -289,9 +289,9 @@ class AccountFrFec(models.TransientModel):
END
AS PieceRef,
TO_CHAR(am.date, 'YYYYMMDD') AS PieceDate,
- CASE WHEN aml.name IS NULL THEN '/'
+ CASE WHEN aml.name IS NULL OR aml.name = '' THEN '/'
WHEN aml.name SIMILAR TO '[\t|\s|\n]*' THEN '/'
- ELSE replace(aml.name, '|', '/') END AS EcritureLib,
+ ELSE replace(replace(replace(aml.name, '|', '/'), '\t', ''), '\n', '') END AS EcritureLib,
replace(CASE WHEN aml.debit = 0 THEN '0,00' ELSE to_char(aml.debit, '000000000000000D99') END, '.', ',') AS Debit,
replace(CASE WHEN aml.credit = 0 THEN '0,00' ELSE to_char(aml.credit, '000000000000000D99') END, '.', ',') AS Credit,
CASE WHEN rec.name IS NULL THEN '' ELSE rec.name END AS EcritureLet,
diff --git a/addons/web/static/src/js/views/form_widgets.js b/addons/web/static/src/js/views/form_widgets.js
index 06f1ee0a4cb..2acf376bdb4 100644
--- a/addons/web/static/src/js/views/form_widgets.js
+++ b/addons/web/static/src/js/views/form_widgets.js
@@ -1212,7 +1212,7 @@ var FieldBinary = common.AbstractField.extend(common.ReinitializeFieldMixin, {
'id': this.view.datarecord.id,
'field': this.name,
'filename_field': filename_fieldname,
- 'filename': filename_field ? filename_field.get('value') : null,
+ 'filename': filename_field ? filename_field.get('value') : "",
'download': true,
'data': utils.is_bin_size(value) ? null : value,
},
diff --git a/odoo/addons/base/ir/ir_http.py b/odoo/addons/base/ir/ir_http.py
index df15e45df22..c01e6d4a4ea 100644
--- a/odoo/addons/base/ir/ir_http.py
+++ b/odoo/addons/base/ir/ir_http.py
@@ -303,9 +303,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
@@ -320,6 +320,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