diff --git a/addons/base_import/static/src/xml/import.xml b/addons/base_import/static/src/xml/import.xml index ae5c78c497d..7723f7b5266 100644 --- a/addons/base_import/static/src/xml/import.xml +++ b/addons/base_import/static/src/xml/import.xml @@ -2,6 +2,7 @@
+ diff --git a/addons/web/static/src/js/framework/ajax.js b/addons/web/static/src/js/framework/ajax.js index f8392287b26..d6619449a0f 100644 --- a/addons/web/static/src/js/framework/ajax.js +++ b/addons/web/static/src/js/framework/ajax.js @@ -1,6 +1,7 @@ odoo.define('web.ajax', function (require) { "use strict"; +var core = require('web.core'); var time = require('web.time'); var utils = require('web.utils'); @@ -238,6 +239,11 @@ function get_file(options) { method: 'POST' }).appendTo(document.body); } + if (core.csrf_token) { + $('') + .val(core.csrf_token) + .appendTo($form_data); + } var hparams = _.extend({}, options.data || {}, {token: token}); _.each(hparams, function (value, key) { @@ -292,19 +298,16 @@ function post (controller_url, data) { }; var Def = $.Deferred(); - var compatibility = !(typeof(FormData)); - var postData = compatibility ? new FormDataCompatibility() : new FormData(); + var postData = new FormData(); $.each(data, function(i,val) { postData.append(i, val); }); - - var xhr = new XMLHttpRequest(); - if(compatibility) { - postData.setContentTypeHeader(xhr); - postData = postData.buildBody(); + if (core.csrf_token) { + postData.append('csrf_token', core.csrf_token); } + var xhr = new XMLHttpRequest(); if(xhr.upload) xhr.upload.addEventListener('progress', progressHandler(Def), false); var ajaxDef = $.ajax(controller_url, { diff --git a/addons/web/static/src/xml/base.xml b/addons/web/static/src/xml/base.xml index cae5392cf3b..0ce2ab0f08f 100644 --- a/addons/web/static/src/xml/base.xml +++ b/addons/web/static/src/xml/base.xml @@ -988,7 +988,8 @@
+ method="post" enctype="multipart/form-data" t-att-action="fileupload_action || '/web/binary/upload'"> + diff --git a/addons/web/views/webclient_templates.xml b/addons/web/views/webclient_templates.xml index 6147e3d3a04..03723cf9a24 100644 --- a/addons/web/views/webclient_templates.xml +++ b/addons/web/views/webclient_templates.xml @@ -301,6 +301,13 @@ + <!--[if lte IE 9]> <![endif]-->