【发布时间】:2015-11-25 04:17:22
【问题描述】:
【问题讨论】:
-
在进入用户界面>>菜单项后应用技术权限
-
我想处理我拥有技术权利的代码
【问题讨论】:
首先创建一个没有用户的虚拟组
<record id="make_invisible" model="res.groups">
<field name="name">Invisible</field>
</record>
替换组中的所有用户。这里的eval 语句的意思是,将groups_id 字段中的所有id 替换为组@987654326@ 的id。
<record model="ir.ui.menu" id="module.menu_name">
<field name="groups_id" eval="[(6,0,[ref('make_invisible')])]"/>
</record>
您可以找到更多关于 eval 工作原理的信息here
【讨论】:
无需创建组并将组分配给菜单。您可以通过设置菜单active="False" 简单地使菜单无效。这是一个例子,
<menuitem id="module.menu_id" active="False"/>
【讨论】:
如果您想隐藏它,请转到模块的视图部分,找到该项目并编辑您的用户组列表,以便能够看到它。例如,我在下面的菜单项之一:
<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) 可以看到该菜单项。
如果要删除它,只需从视图部分中删除它即可。
【讨论】:
如果它没有子菜单,您可以使用自己的操作、名称和父级重复使用它
<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"/>
通过这种方式,它会从它的位置隐藏并随着你的操作出现在你的父菜单中
【讨论】:
创建一个没有用户的新组,并将菜单项分配给该组。
【讨论】:
如果您正在寻找没有组的解决方案,请在覆盖 menuitem 后尝试 active="false"。
【讨论】: