如何在 Odoo 8 中隐藏 "More" 菜单中的选项?
How to hide an option from "More" menu in Odoo 8?
我制作了一个模块,它在树视图的 更多 按钮的下拉列表中添加了一个选项:
<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
(这样选项的功能将被禁用但是该选项仍然可见。
好吧,我找到了一个我在任何论坛上都见过的方法,所以我不知道这是否疯狂,但它似乎对数据库没有危险,也没有必要使用 JavaScript.我知道 key2
指示放置选项的位置,client_action_multi
用于将其显示在 More 按钮下拉列表中,client_print_multi
用于将其显示在 Print 按钮下拉菜单等...所以我尝试为该列添加一个空字符串,接下来是:
<record id="my_inherited_module.stock_move_sw_manager_option" model="ir.values">
<field name="key2" eval="''"/>
</record>
现在它正在按预期工作。
我制作了一个模块,它在树视图的 更多 按钮的下拉列表中添加了一个选项:
<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
(这样选项的功能将被禁用但是该选项仍然可见。
好吧,我找到了一个我在任何论坛上都见过的方法,所以我不知道这是否疯狂,但它似乎对数据库没有危险,也没有必要使用 JavaScript.我知道 key2
指示放置选项的位置,client_action_multi
用于将其显示在 More 按钮下拉列表中,client_print_multi
用于将其显示在 Print 按钮下拉菜单等...所以我尝试为该列添加一个空字符串,接下来是:
<record id="my_inherited_module.stock_move_sw_manager_option" model="ir.values">
<field name="key2" eval="''"/>
</record>
现在它正在按预期工作。