From b8e0766405f8c15a4a6718209db5b44e68e2d290 Mon Sep 17 00:00:00 2001 From: Pablo Quesada Barriuso Date: Wed, 5 Aug 2020 00:59:11 +0200 Subject: [PATCH] [MIG] V13 properties menu --- pms/static/src/js/session.js | 33 +++++++++++++++++++ .../src/js/widgets/switch_property_menu.js | 2 +- pms/static/src/xml/pms_base_templates.xml | 2 +- pms/views/inherited_webclient_templates.xml | 1 + 4 files changed, 36 insertions(+), 2 deletions(-) create mode 100644 pms/static/src/js/session.js diff --git a/pms/static/src/js/session.js b/pms/static/src/js/session.js new file mode 100644 index 000000000..8e19784f9 --- /dev/null +++ b/pms/static/src/js/session.js @@ -0,0 +1,33 @@ +odoo.define('pms.session', function (require) { + "use strict"; + + var Session = require('web.Session'); + var utils = require('web.utils'); + var modules = odoo._modules; + + var inherited_Session = Session.extend({ + // TODO: require test and debug + setPmsProperties: function (pms_main_property_id, pms_property_ids) { + var hash = $.bbq.getState() + debugger; + hash.pms_pids = pms_property_ids.sort(function(a, b) { + if (a === pms_main_property_id) { + return -1; + } else if (b === pms_main_property_id) { + return 1; + } else { + return a - b; + } + }).join(','); + utils.set_cookie('pms_pids', hash.pms_pids || String(pms_main_property_id)); + $.bbq.pushState({'pms_pids': hash.pms_pids}, 0); + location.reload(); + }, + }); + + var pms_session = new inherited_Session(undefined, undefined, {modules: modules, use_cors: false}); + pms_session.is_bound = pms_session.session_bind(); + + return pms_session; + + }); \ No newline at end of file diff --git a/pms/static/src/js/widgets/switch_property_menu.js b/pms/static/src/js/widgets/switch_property_menu.js index 568e38c80..4d16c726d 100644 --- a/pms/static/src/js/widgets/switch_property_menu.js +++ b/pms/static/src/js/widgets/switch_property_menu.js @@ -9,7 +9,7 @@ odoo.define('web.SwitchPmsMenu', function(require) { var config = require('web.config'); var core = require('web.core'); - var session = require('web.session'); + var session = require('pms.session'); var SystrayMenu = require('web.SystrayMenu'); var Widget = require('web.Widget'); diff --git a/pms/static/src/xml/pms_base_templates.xml b/pms/static/src/xml/pms_base_templates.xml index bf89acd69..0a48a471a 100644 --- a/pms/static/src/xml/pms_base_templates.xml +++ b/pms/static/src/xml/pms_base_templates.xml @@ -1,7 +1,7 @@