diff options
| author | Denis Ledoux <dle@odoo.com> | 2015-01-29 12:47:29 +0100 |
|---|---|---|
| committer | Denis Ledoux <dle@odoo.com> | 2015-01-29 12:51:47 +0100 |
| commit | 4c2706d6858c4b7ec6db4b647dc2e3559f650cd8 (patch) | |
| tree | d53f2bd6228a0912ff76f79bab7297645d3d7b32 /addons/web | |
| parent | a4597fe34fcfa8dae28b156410080346bb33af33 (diff) | |
[FIX] web: saveas_ajax, correct filename when data passed directly
In cases where data is directly given to the saveas_ajax controller,
the filename was not correctly set, as no read method was performed.
(The read call is useless as the data is already avaiable in such a case)
In such cases, the filename must be given in advance
opw-626707
Diffstat (limited to 'addons/web')
| -rw-r--r-- | addons/web/controllers/main.py | 2 | ||||
| -rw-r--r-- | addons/web/static/src/js/view_form.js | 5 |
2 files changed, 5 insertions, 2 deletions
diff --git a/addons/web/controllers/main.py b/addons/web/controllers/main.py index 6206d1fa4d4..b3acbbe5119 100644 --- a/addons/web/controllers/main.py +++ b/addons/web/controllers/main.py @@ -1309,7 +1309,7 @@ class Binary(openerpweb.Controller): if filename_field: fields.append(filename_field) if data: - res = { field: data } + res = {field: data, filename_field: jdata.get('filename', None)} elif id: res = Model.read([int(id)], fields, context)[0] else: diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js index 5581ca7b0ae..d4cf85a59f2 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -5087,14 +5087,17 @@ instance.web.form.FieldBinary = instance.web.form.AbstractField.extend(instance. } else { instance.web.blockUI(); var c = instance.webclient.crashmanager; + var filename_fieldname = this.node.attrs.filename; + var filename_field = this.view.fields && this.view.fields[filename_fieldname]; this.session.get_file({ url: '/web/binary/saveas_ajax', data: {data: JSON.stringify({ model: this.view.dataset.model, id: (this.view.datarecord.id || ''), field: this.name, - filename_field: (this.node.attrs.filename || ''), + filename_field: (filename_fieldname || ''), data: instance.web.form.is_bin_size(value) ? null : value, + filename: filename_field ? filename_field.get('value') : null, context: this.view.dataset.get_context() })}, complete: instance.web.unblockUI, |
