繁体   English   中英

如何在 odoo stock.picking 表单中隐藏验证按钮,基于 boolean 字段和状态

[英]How To Hide Validate Button in odoo stock.picking form based on boolean field with states

我正在尝试在 stock.picking 表单上隐藏验证按钮,我正在搜索stock.view_picking_form上的按钮并找到名称为 button_validate 的两个按钮。

 <button name="button_validate" attrs="{'invisible': ['|', ('state', 'in', ('waiting','confirmed')), ('show_validate', '=', False)]}" string="Validate" type="object" class="oe_highlight" groups="stock.group_stock_user"/>
 <button name="button_validate" attrs="{'invisible': ['|', ('state', 'not in', ('waiting', 'confirmed')), ('show_validate', '=', False)]}" string="Validate" type="object" groups="stock.group_stock_user" class="o_btn_validate"/>

在我的情况下,我想像这样使用 xbath 隐藏基于 Boolean 字段的第一个

 <xpath expr="//button[@name='button_validate']" position="attributes">
       <attribute name="attrs">{'invisible': ['|','|', ('state', 'in', ('waiting','confirmed')), ('show_validate', '=', False),('is_has_access', '=', 'False')]}</attribute>
 </xpath>

保存并升级模块后,我发现 attrs 已更新按钮信息,但即使 Field = False 它仍然可见

那么我怎样才能做到这一点并隐藏这个按钮呢? 任何帮助将不胜感激

有时退后一步(字面意思)会有所帮助;-)

('show_validate', '=', False),('is_has_access', '=', 'False')

你看到这两个域元组之间的区别了吗? 专注于价值观,是的,一个有引号,一个没有。 一种有效,一种无效。

所以也许尝试:

('show_validate', '=', False),('is_has_access', '=', False)

但是为什么 Odoo 没有抛出错误呢? 这是因为字符串是有效的 boolean 值并且始终表示True

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM