我需要为模块的树视图添加默认过滤器。
我在openerp中看到了一些代码示例,如下所示:
<filter
string="Partner"
icon="terp-partner"
domain="[]"
context="{'group_by':'partner_id'}"
/>
purchase
模块中的这一个,按partner_id
分组,作为示例。
现在,我有一个自定义模块,当你点击它的菜单时,我需要一个'默认'过滤器。
此过滤器必须显示所有未“过期”的记录,或者当我浏览模块中的记录时未显示实际日期的记录。
我的自定义模块中有这个字段:
'Fecha_de_Vence': fields.date(
'Fecha de Vencimiento',
required=True,
select=True,
),
这是我需要作为此模块中所有记录的过滤器的字段。
目前,在“高级搜索”中,我可以举例Fecha de Vencimiento
不超过actual date
,我需要将其作为“默认”过滤器。
任何人都可以在openerp的xml视图中默认如何获得这个?
答案 0 :(得分:7)
您需要一个搜索视图,以及act_window中的上下文条目:
<record id="search_xxx_filter" model="ir.ui.view">
<field name="name">module.class.select</field>
<field name="model">module.class</field>
<field name="arch" type="xml">
<search string="Search xxx">
<field name="Fecha_de_Vence" string="Fecha de Vencimiento" filter_domain="[(1,'=',1)]"/>
<separator/>
<filter string="Fecha de Vencimiento" name="type_date" domain="[(1,'=',1)]" help="..."/>
<separator/>
<group expand="0" string="Group By...">
<filter string="Assigned to" domain="[]" context="{'group_by' : 'user_id'}" />
<filter string="Status" domain="[]" context="{'group_by': 'state'}"/>
<filter string="Priority" domain="[]" context="{'group_by': 'priority'}"/>
</group>
</search>
</field>
</record>
<record id="module_class_act" model="ir.actions.act_window">
<field name="name">xxx</field>
<field name="res_model">module.class</field>
<field name="view_type">form</field>
<field name="context">{"search_default_type_date":1}</field>
<field name="view_id" ref="module_class_tree-view"/>
</record>
我将群组条目保留在原因中,以便您可以看到它们的外观,但您需要删除它们或调整它们以使它们与您的数据相匹配。此外,单词module
和class
应替换为您的数据。
答案 1 :(得分:4)
这就是我如何解决它,没有你的建议就不可能:
<record id="solvencia_search" model="ir.ui.view">
<field name="name">solvencia.solvencia.select</field>
<field name="model">solvencia.solvencia</field>
<field name="arch" type="xml">
<search string="Solvencias">
<field name="Fecha_de_Vence" string="Fecha de Vencimiento" filter_domain="[('Fecha_de_Vence','=',((context_today()-datetime.timedelta(days=10)).strftime('%%Y-%%m-%%d')))]"/>
<separator/>
<filter string="Fecha de Vencimiento" name="type_date" domain="[('Fecha_de_Vence','=',((context_today()-datetime.timedelta(days=10)).strftime('%%Y-%%m-%%d')))]" help="..."/>
<separator/>
<group expand="0" string="Group By...">
<filter string="Assigned to" domain="[]" context="{'group_by' : 'Fecha_de_Vence'}" />
<filter string="Status" domain="[]" context="{'group_by': 'Fecha_de_Emision'}"/>
<filter string="Priority" domain="[]" context="{'group_by': 'nsol'}"/>
</group>
</search>
</field>
context
中的act_window
:
<record id="action_solvencia_solvencia" model="ir.actions.act_window">
<field name="name">Solvencias</field>
<field name="res_model">solvencia.solvencia</field>
<field name="view_type">form</field>
<field name="context">{"search_default_type_date":1}</field>
<field name="view_mode">tree,form</field>
<field name="view_id" ref="solvencia_solvencia_tree"/>
<field name="nsol" />
<field name="Fecha_de_Emision" />
<field name="Fecha_de_Vence" />
<field name="ministerio" />
<field name="ins_em" />
<field name="cod_ver" />
<field name="cadidate" />
<field name="observa" />
</record>
完美的工作,非常感谢你!