diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js index ac76354b571..3703503d029 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -5134,6 +5134,8 @@ instance.web.form.FieldMany2ManyBinaryMultiFiles = instance.web.form.AbstractFie } }, on_file_loaded: function (event, result) { + var files = this.get('value'); + // unblock UI if(this.node.attrs.blockui>0) { instance.web.unblockUI(); @@ -5141,16 +5143,24 @@ instance.web.form.FieldMany2ManyBinaryMultiFiles = instance.web.form.AbstractFie // TODO : activate send on wizard and form - var files = this.get('value'); - for(var i in files){ - if(files[i].filename == result.filename && files[i].upload) { - files[i] = { - 'id': result.id, - 'name': result.name, - 'filename': result.filename, - 'url': this.get_file_url(result) - }; + if (result.erorr || !result.id ) { + + this.do_warn(result.title, result.erorr); + files = _.filter(files, function (val) { return !val.upload; }); + + } else { + + for(var i in files){ + if(files[i].filename == result.filename && files[i].upload) { + files[i] = { + 'id': result.id, + 'name': result.name, + 'filename': result.filename, + 'url': this.get_file_url(result) + }; + } } + } this.set({'value': files});