diff options
Diffstat (limited to 'addons/base_import/static/src/js')
| -rw-r--r-- | addons/base_import/static/src/js/import_action.js | 27 |
1 files changed, 16 insertions, 11 deletions
diff --git a/addons/base_import/static/src/js/import_action.js b/addons/base_import/static/src/js/import_action.js index 3d983d4b3d6..6a0d6fee4d8 100644 --- a/addons/base_import/static/src/js/import_action.js +++ b/addons/base_import/static/src/js/import_action.js @@ -152,7 +152,7 @@ var DataImport = AbstractAction.extend({ }).then(function (result) { self.importTemplates = result; }); - return $.when(this._super.apply(this, arguments), def); + return Promise.all([this._super.apply(this, arguments), def]); }, start: function () { var self = this; @@ -162,9 +162,9 @@ var DataImport = AbstractAction.extend({ this.setup_float_format_picker(); this.setup_date_format_picker(); - return $.when( + return Promise.all([ this._super(), - self.create_model().done(function (id) { + self.create_model().then(function (id) { self.id = id; self.$('input[name=import_id]').val(id); @@ -173,8 +173,8 @@ var DataImport = AbstractAction.extend({ cp_content: {$buttons: self.$buttons}, }; self.updateControlPanel(status); - }) - ); + }), + ]); }, create_model: function() { return this._rpc({ @@ -346,7 +346,7 @@ var DataImport = AbstractAction.extend({ method: 'parse_preview', args: [this.id, this.import_options()], kwargs: {context: session.user_context}, - }).done(function (result) { + }).then(function (result) { var signal = result.error ? 'preview_failed' : 'preview_succeeded'; self[signal](result); }); @@ -567,7 +567,9 @@ var DataImport = AbstractAction.extend({ method: 'do', args: [this.id, fields, columns, this.import_options()], kwargs : kwargs, - }).then(null, function (error, event) { + }).then(null, function (reason) { + var error = reason.message; + var event = reason.event; // In case of unexpected exception, convert // "JSON-RPC error" to an import failure, and // prevent default handling (warning dialog) @@ -588,7 +590,7 @@ var DataImport = AbstractAction.extend({ || error.message; } - return $.when({'messages': [{ + return Promise.resolve({'messages': [{ type: 'error', record: false, message: msg, @@ -596,12 +598,14 @@ var DataImport = AbstractAction.extend({ }) ; }, onvalidate: function () { - return this.call_import({ dryrun: true, tracking_disable: true }) - .done(this.proxy('validated')); + var prom = this.call_import({ dryrun: true, tracking_disable: true }); + prom.then(this.proxy('validated')); + return prom; }, onimport: function () { var self = this; - return this.call_import({ dryrun: false }).done(function (results) { + var prom = this.call_import({ dryrun: false }); + prom.then(function (results) { var message = results.messages; if (!_.any(message, function (message) { return message.type === 'error'; })) { @@ -610,6 +614,7 @@ var DataImport = AbstractAction.extend({ } self['import_failed'](results); }); + return prom; }, onimported: function (event, from, to, results) { this.do_notify(_t("Import completed"), _.str.sprintf(_t("%d records were successfully imported"), results.ids.length)); |
