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,