如何隐藏"更多" Odoo 8中的菜单?

时间:2017-05-23 10:14:53

标签: xml odoo-8 odoo

我创建了一个模块,它为树视图的 More 按钮的下拉列表添加了一个选项:

<record id="stock_move_2_stock_move_sw_manager_action" model="ir.actions.server">
    <field name="name">Swap moves</field>
    <field name="model_id" ref="model_stock_move"/>
    <field name="state">code</field>
    <field name="code">
action = self.open_stock_move_sw_manager_wizard(cr, user.id, context.get('active_ids', []), context=context)
    </field>
</record>
<record id="stock_move_sw_manager_option" model="ir.values">
    <field name="name">Swap moves</field>
    <field name="key2" eval="'client_action_multi'"/>
    <field name="model" eval="'stock.move'"/>
    <field name="value" eval="'ir.actions.server,%d'%stock_move_2_stock_move_sw_manager_action"/>
</record>

但是现在,我必须隐藏(或删除)它。由于几个原因,为了正确地做到这一点,我必须创建其他模块来实现这一点(而不是删除原始代码使其消失)。

问题在于我无法使其隐身,我尝试使用groups_id技巧,使用<delete>标记(虽然位于<data noupdate="1">标记内但仍然很危险)没有成功。

有人可以帮我吗?

注意:我宁愿不覆盖open_stock_move_sw_manager_wizard方法来放置raise Warning(这样选项的功能会被禁用但选项仍然是可见)。

1 个答案:

答案 0 :(得分:3)

好吧,我找到了一种我在任何论坛上见过的方式,所以我不知道这是不是很疯狂,但对数据库来说似乎没什么危险,也没有必要使用JavaScript。我知道key2表示您选择的位置,client_action_multi用于在更多按钮下拉列表中显示,client_print_multi用于在打印内显示按钮下拉列表等...所以我试着为这个列添加一个空字符串,下一步:

<record id="my_inherited_module.stock_move_sw_manager_option" model="ir.values">
    <field name="key2" eval="''"/>
</record>

目前它按预期工作。