为什么我们必须创建一个新的组才能在Odoo v8中向所有用户隐藏菜单项?

时间:2018-07-31 11:53:50

标签: python xml odoo odoo-8

我只是想知道为什么我们必须应用此解决方案来向所有用户(包括具有技术功能的管理员)隐藏现有菜单项:

Remove or hide a menu item in Odoo

我的意思是,谁能解释我为什么这行不通吗?

<record id="stock_account.menu_action_history_tree" model="ir.ui.menu">
    <field name="groups_id" eval="[(6, 0, [])]"/>
</record>

此后,如果我进入界面并在“技术功能”部分中检查此菜单项记录,则可以看到groups_id many2many列表为空。那么,为什么管理员仍然可以看到它?

2 个答案:

答案 0 :(得分:2)

我认为您必须采取虚假行动才能隐藏菜单, 这有帮助

<record id="stock_account.menu_action_history_tree" model="ir.ui.menu">
    <field name="action" eval="False"/>
</record>

答案 1 :(得分:2)

如果groups_id字段为空,Odoo将根据相关对象的读取访问权限来计算可见性。

您可以在addons/base/ir/ir_ui_view.py上找到此帮助。

  
    

'groups_id':fields.many2many('res.groups','ir_ui_menu_group_rel',                 'menu_id','gid','Groups',help =“如果您有组,则此菜单的可见性将基于这些组。” \                     “如果此字段为空,则Odoo将根据相关对象的读取访问权限来计算可见性。”,