diff --git a/addons/web/static/src/legacy/js/views/view_dialogs.js b/addons/web/static/src/legacy/js/views/view_dialogs.js index f3ffe39e7b0..669b09d8185 100644 --- a/addons/web/static/src/legacy/js/views/view_dialogs.js +++ b/addons/web/static/src/legacy/js/views/view_dialogs.js @@ -191,7 +191,6 @@ var FormViewDialog = ViewDialog.extend({ open: function () { var self = this; var _super = this._super.bind(this); - var FormView = view_registry.get('form'); var fields_view_def; if (this.options.fields_view) { fields_view_def = Promise.resolve(this.options.fields_view); @@ -203,6 +202,9 @@ var FormViewDialog = ViewDialog.extend({ var refinedContext = _.pick(self.context, function (value, key) { return key.indexOf('_view_ref') === -1; }); + var xml = new DOMParser().parseFromString(viewInfo.arch, "text/xml") + var key = xml.documentElement.getAttribute("js_class"); + var FormView = view_registry.get(key || 'form'); var formview = new FormView(viewInfo, { modelName: self.res_model, context: refinedContext,