From b0ec5ee5085f20005f71c9086b65c5dca1ef9709 Mon Sep 17 00:00:00 2001 From: pranaysaidurga Date: Tue, 12 May 2026 11:37:01 +0530 Subject: [PATCH] Menu Control Center Functionality change --- .../menu_control_center/controllers/main.py | 28 +- .../menu_control_center/data/data.xml | 32 +- .../menu_control_center/models/groups.py | 73 --- .../menu_control_center/models/masters.py | 350 ++++++++++----- .../menu_control_center/models/menu.py | 286 ++++++------ .../menu_control_center/models/models.py | 420 ++++++++---------- .../security/ir.model.access.csv | 12 +- .../menu_control_center/views/groups.xml | 2 +- .../menu_control_center/views/masters.xml | 179 +++++--- .../views/menu_access_control_views.xml | 240 ++++------ 10 files changed, 818 insertions(+), 804 deletions(-) delete mode 100644 addons_extensions/menu_control_center/models/groups.py diff --git a/addons_extensions/menu_control_center/controllers/main.py b/addons_extensions/menu_control_center/controllers/main.py index 59c4af101..7668b84ac 100644 --- a/addons_extensions/menu_control_center/controllers/main.py +++ b/addons_extensions/menu_control_center/controllers/main.py @@ -3,7 +3,7 @@ from odoo.http import request from odoo.addons.web.controllers.home import Home -class CustomMasterLogin(Home): +class CustomMasterLogin(Home): @http.route() def web_login(self, *args, **kw): @@ -17,19 +17,19 @@ class CustomMasterLogin(Home): request.env['ir.ui.menu'].sudo().clear_caches() request.env['ir.ui.menu'].sudo()._visible_menu_ids() - if request.session.uid and master_selected: - user = request.env.user - master = request.env['master.control'].sudo().search( - [('code', '=', master_selected)], limit=1 - ) - - if master.exists() and master.access_group_ids: - if not (user.groups_id & master.access_group_ids): - request.session.logout(keep_db=True) - - # Create a response with JavaScript alert - html = f""" - + if request.session.uid and master_selected: + user = request.env.user + master = request.env['master.control'].sudo().search( + [('code', '=', master_selected)], limit=1 + ) + + if master.exists() and master.user_ids: + if user not in master.user_ids: + request.session.logout(keep_db=True) + + # Create a response with JavaScript alert + html = f""" +