50 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Python
		
	
	
			
		
		
	
	
			50 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Python
		
	
	
| # -*- coding: utf-8 -*-
 | |
| ##############################################################################
 | |
| #
 | |
| #    datenpol gmbh
 | |
| #    Copyright (C) 2013-TODAY datenpol gmbh (<http://www.datenpol.at/>)
 | |
| #
 | |
| #    This program is free software: you can redistribute it and/or modify
 | |
| #    it under the terms of the GNU Affero General Public License as
 | |
| #    published by the Free Software Foundation, either version 3 of the
 | |
| #    License, or (at your option) any later version.
 | |
| #
 | |
| #    This program is distributed in the hope that it will be useful,
 | |
| #    but WITHOUT ANY WARRANTY; without even the implied warranty of
 | |
| #    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | |
| #    GNU Affero General Public License for more details.
 | |
| #
 | |
| #    You should have received a copy of the GNU Affero General Public License
 | |
| #    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | |
| #
 | |
| ##############################################################################
 | |
| 
 | |
| from odoo import models, api, tools
 | |
| 
 | |
| DISABLED_MENUS = [
 | |
| ]
 | |
| 
 | |
| 
 | |
| class IrUiMenu(models.Model):
 | |
|     _inherit = 'ir.ui.menu'
 | |
| 
 | |
|     @tools.ormcache(skiparg=2)
 | |
|     def get_disabled_menu_ids(self):
 | |
|         menu_ids = []
 | |
|         for menu in DISABLED_MENUS:
 | |
|             menu = self.env.ref(menu)
 | |
|             if menu:
 | |
|                 menu_ids.append(menu.id)
 | |
| 
 | |
|         return menu_ids
 | |
| 
 | |
|     @api.multi
 | |
|     def _filter_visible_menus(self):
 | |
|         if self.env.uid != 1:
 | |
|             disabled_ids = self.get_disabled_menu_ids()
 | |
|             ids = [id for id in self.ids if id not in disabled_ids]
 | |
|             self = self.browse(ids)
 | |
| 
 | |
|         ids = super(IrUiMenu, self)._filter_visible_menus()
 | |
|         return ids
 |