我目前正在构建自定义模块,并且扩展了度量单位类(product.uom)。我希望根据我的新变量之一的特定值从列表/树视图中删除一些uom条目。
我不确定如何修改此视图。我似乎在读我需要指定一个域,例如domain = [(“ myvariable”,“ =”,True)],但我不确定如何应用此域。我尝试继承树视图并添加域,但这不起作用。
任何帮助将不胜感激。
解:
<record model="ir.actions.act_window" id="uom_list_action">
<field name="name">Units Of Measurement</field>
<field name="res_model">product.uom</field>
<field name="domain">[("myvariable","!=",True)]</field>
<field name="view_mode">tree,form</field>
</record>
<record model="ir.ui.menu" id="product.menu_product_uom_form_action">
<field name="action" ref="uom_list_action"/>
</record>
<record model="ir.ui.menu" id="stock.menu_stock_uom_form_action">
<field name="action" ref="uom_list_action"/>
</record>
最佳答案
为了执行Nross2781的查找,您必须重写ir.actions.act_window进行记录。
<record model="ir.actions.act_window" id="uom_list_action">
<field name="name">Units Of Measurement</field>
<field name="res_model">product.uom</field>
<field name="domain">[("myvariable","!=",True)]</field>
<field name="view_mode">tree,form</field>
</record>
但是,您可能需要考虑将过滤器添加到搜索视图中,这样会更加灵活。您还可以查看默认情况下不显示的记录。
<record model="ir.ui.view" id="uom_search_view">
<field name="name">uom.search</field>
<field name="model">product.uom</field>
<field name="arch" type="xml">
<search string="Units Of Measurement">
<filter name="my_var_is_true" string="My Variable" domain="[('myvariable','=',True)]"/>
<filter name="my_var_is_false" string="Not My Variable" domain="[('myvariable','!=',True)]"/>
</search>
</field>
</record>