【问题标题】:Remove or hide a menu item in Odoo在 Odoo 中删除或隐藏菜单项
【发布时间】:2015-11-25 04:17:22
【问题描述】:

我有这个菜单项,我想隐藏或删除它。

【问题讨论】:

  • 在进入用户界面>>菜单项后应用技术权限
  • 我想处理我拥有技术权利的代码

标签: xml openerp


【解决方案1】:

首先创建一个没有用户的虚拟组

<record id="make_invisible" model="res.groups">
    <field name="name">Invisible</field>
 </record>

替换组中的所有用户。这里的eval 语句的意思是,将groups_id 字段中的所有id 替换为组@98​​7654326@ 的id。

<record model="ir.ui.menu" id="module.menu_name">
    <field name="groups_id" eval="[(6,0,[ref('make_invisible')])]"/>
</record>

您可以找到更多关于 eval 工作原理的信息here

【讨论】:

  • edit 回答您的问题,并提供一些其他信息说明为什么这样做会有所帮助。
【解决方案2】:

无需创建组并将组分配给菜单。您可以通过设置菜单active="False" 简单地使菜单无效。这是一个例子,

<menuitem id="module.menu_id" active="False"/>

【讨论】:

  • 这适用于odoo14。比我认为投票最高的答案更好的解决方案。
【解决方案3】:

如果您想隐藏它,请转到模块的视图部分,找到该项目并编辑您的用户组列表,以便能够看到它。例如,我在下面的菜单项之一:

 <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) 可以看到该菜单项。

如果要删除它,只需从视图部分中删除它即可。

【讨论】:

    【解决方案4】:

    如果它没有子菜单,您可以使用自己的操作、名称和父级重复使用它

        <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"/>
    

    通过这种方式,它会从它的位置隐藏并随着你的操作出现在你的父菜单中

    【讨论】:

      【解决方案5】:

      创建一个没有用户的新组,并将菜单项分配给该组。

      【讨论】:

        【解决方案6】:

        如果您正在寻找没有组的解决方案,请在覆盖 menuitem 后尝试 active="false"

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-04-23
          • 1970-01-01
          • 1970-01-01
          • 2014-10-20
          • 2010-09-29
          • 2018-10-19
          相关资源
          最近更新 更多