diff --git a/smile_web_impex/__init__.py b/smile_web_impex/__init__.py index e3d538e1f..7ffb94aa3 100644 --- a/smile_web_impex/__init__.py +++ b/smile_web_impex/__init__.py @@ -1,3 +1,5 @@ # -*- coding: utf-8 -*- # (C) 2019 Smile () # License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl). + +from . import models diff --git a/smile_web_impex/models/__init__.py b/smile_web_impex/models/__init__.py new file mode 100644 index 000000000..caa53bc40 --- /dev/null +++ b/smile_web_impex/models/__init__.py @@ -0,0 +1,6 @@ +# (C) 2019 Smile () +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl). + +from . import ( + ir_http, +) diff --git a/smile_web_impex/models/ir_http.py b/smile_web_impex/models/ir_http.py new file mode 100644 index 000000000..22389183c --- /dev/null +++ b/smile_web_impex/models/ir_http.py @@ -0,0 +1,15 @@ +# (C) 2019 Smile () +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl). + +from odoo import models + + +class IrHttp(models.AbstractModel): + + _inherit = 'ir.http' + + def session_info(self): + result = super().session_info() + result['has_group_smile_import'] = self.env.user.has_group('smile_web_impex.group_import') + result['has_group_smile_export'] = self.env.user.has_group('smile_web_impex.group_export') + return result diff --git a/smile_web_impex/static/src/js/web_impex.js b/smile_web_impex/static/src/js/web_impex.js index 2e3cf9081..2621446ed 100644 --- a/smile_web_impex/static/src/js/web_impex.js +++ b/smile_web_impex/static/src/js/web_impex.js @@ -6,6 +6,7 @@ odoo.define('web_impex', function (require) { var KanbanController = require('web.KanbanController'); var ListController = require("web.ListController"); var _t = core._t; + var session = require("web.session"); KanbanController.include({ /** @@ -14,16 +15,8 @@ odoo.define('web_impex', function (require) { renderButtons: function () { this._super.apply(this, arguments); // Sets this.$buttons - var has_import_group = false; - this.getSession().user_has_group('smile_web_impex.group_import').then(function(has_group) { - if(has_group) { - has_import_group = true; - } else { - has_import_group = false; - } - }); - - if (!has_import_group && this.$buttons != undefined) { + var has_import_group = session.has_group_smile_import; + if (!has_import_group && this.$buttons !== undefined) { this.$buttons.find('.o_button_import').hide(); } }, @@ -37,16 +30,8 @@ odoo.define('web_impex', function (require) { renderButtons: function () { this._super.apply(this, arguments); // Sets this.$buttons - var has_import_group = false; - this.getSession().user_has_group('smile_web_impex.group_import').then(function(has_group) { - if(has_group) { - has_import_group = true; - } else { - has_import_group = false; - } - }); - - if (!has_import_group && this.$buttons != undefined) { + var has_import_group = session.has_group_smile_import; + if (!has_import_group && this.$buttons !== undefined) { this.$buttons.find('.o_button_import').hide(); } }, @@ -56,18 +41,9 @@ odoo.define('web_impex', function (require) { */ renderSidebar: function ($node) { if (this.hasSidebar && !this.sidebar) { - - var has_export_group = false; - this.getSession().user_has_group('smile_web_impex.group_export').then(function(has_group) { - if(has_group) { - has_export_group = true; - } else { - has_export_group = false; - } - }); - var other = []; + var has_export_group = session.has_group_smile_export; if (has_export_group) { other.push({ label: _t("Export"),