diff options
| author | fja-odoo <fja@odoo.com> | 2019-07-25 08:20:59 +0000 |
|---|---|---|
| committer | fja-odoo <fja@odoo.com> | 2019-07-30 15:57:14 +0000 |
| commit | 2d6dc75a2cb5fa81189920d0f7fdc7b7f12132ab (patch) | |
| tree | 676231ee9b42ca9957936023ada029784889deec /addons/web/static/src/js/fields | |
| parent | caf6cb929b852209e84fa23efd10f58651d18d8e (diff) | |
[FIX] web, *: make crash_manager use services correctly
* = website_forum, stock
Fix for: https://github.com/odoo/odoo/pull/32132
crash_manager.js was using the services while bypassing
ServiceProviderMixin That means all services are duplicated, each having
their own state.
To fix this issue, CrashManager now extends AbstractService. Also
crash_manager is now registered in serviceRegistry instead of being
instanciated on the fly.
The crash_manager now being a Service raise one issue with the tests:
The services are not run for the tests but some tests needs the
crash_manager 'unhandledrejection' listener. For that matter the
services are reenable in qunit. Also the crash_manager's
'unhandledrejection' listener has to have precedence over the qunit
listener as it will handle rejections wich have no reason or are not
Errors.
Part of: https://github.com/odoo/odoo/pull/35209
Diffstat (limited to 'addons/web/static/src/js/fields')
| -rw-r--r-- | addons/web/static/src/js/fields/basic_fields.js | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/addons/web/static/src/js/fields/basic_fields.js b/addons/web/static/src/js/fields/basic_fields.js index 4e63e5d3613..322168a7241 100644 --- a/addons/web/static/src/js/fields/basic_fields.js +++ b/addons/web/static/src/js/fields/basic_fields.js @@ -10,7 +10,6 @@ odoo.define('web.basic_fields', function (require) { var AbstractField = require('web.AbstractField'); var config = require('web.config'); var core = require('web.core'); -var crash_manager = require('web.crash_manager'); var datepicker = require('web.datepicker'); var dom = require('web.dom'); var Domain = require('web.Domain'); @@ -1928,11 +1927,10 @@ var FieldBinaryFile = AbstractFieldBinary.extend({ ev.stopPropagation(); } else if (this.res_id) { framework.blockUI(); - var c = crash_manager; var filename_fieldname = this.attrs.filename; this.getSession().get_file({ - 'url': '/web/content', - 'data': { + complete: framework.unblockUI, + data: { 'model': this.model, 'id': this.res_id, 'field': this.name, @@ -1941,8 +1939,8 @@ var FieldBinaryFile = AbstractFieldBinary.extend({ 'download': true, 'data': utils.is_bin_size(this.value) ? null : this.value, }, - 'complete': framework.unblockUI, - 'error': c.rpc_error.bind(c), + error: () => this.call('crash_manager', 'rpc_error', ...arguments), + url: '/web/content', }); ev.stopPropagation(); } |
