答案 0 :(得分:9)
首先创建一个没有用户的虚拟组
<record id="make_invisible" model="res.groups">
<field name="name">Invisible</field>
</record>
替换组中的所有用户。此处的eval
语句表示将groups_id
字段中的所有ID替换为组make_invisible
的ID。
<record model="ir.ui.menu" id="module.menu_name">
<field name="groups_id" eval="[(6,0,[ref('make_invisible')])]"/>
</record>
您可以找到有关eval如何工作的更多信息here
答案 1 :(得分:2)
无需创建组并将组分配给菜单。您可以通过设置 menu active="False"
来简单地使菜单处于非活动状态。这是一个例子,
<menuitem id="module.menu_id" active="False"/>
答案 2 :(得分:1)
如果要隐藏它,请转到模块的“视图”部分,找到该项目并编辑包含用户的组列表,以便能够看到它。例如,我的下面的一个菜单项:
<menuitem id="tabel_menu_emp_by_division" name="Employees by division"
parent="tabel_menu"
action="tabel_list_emp_action_group_by_division" sequence="5" groups="Tabel.group_manager,Tabel.group_accountant,Tabel.group_eco"/>
正如我们所看到的,只有列出的组(Tabel.group_manager,Tabel.group_accountant,Tabel.group_eco)才能看到该菜单项。
如果要删除它,只需将其从视图部分删除即可。
答案 3 :(得分:1)
如果没有子菜单,您可以使用自己的操作和名称以及父
重复使用它 <menuitem id="module.old_menu_id" name="your string here" parent="your_parent_menu_id"
action="your_action_id"
sequence="10"
groups="your_groups_here"/>
通过这种方式,它将隐藏在其位置,并通过您的操作显示在您的父菜单中
答案 4 :(得分:1)
如果您正在寻找没有组的解决方案,请在覆盖 active="false"
后尝试 menuitem
。
答案 5 :(得分:0)
创建一个没有用户的新组,并将菜单项分配给该组。