From a338b66bf003bc9916406dd53fcaff26371f4d3c Mon Sep 17 00:00:00 2001 From: Leonardo Pavan Rocha Date: Thu, 31 Mar 2022 15:55:56 +0000 Subject: [PATCH] [IMP] web: allow js_class in FormViewDialog This commit allows custom classes (js_class) to be used in FormViewDialog. task-2685472 Part-of: odoo/odoo#79654 --- addons/web/static/src/legacy/js/views/view_dialogs.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) 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,