I could improve search behavior by adding more "search criteria" to the "search.view"
In an addon I added following inherited views to improve searches. This is mainly the same as the module of Grover Menacho does but without the dynamic his module provides.
<record id="rcs_product_search_form" model="ir.ui.view">
<field name="inherit_id" ref="base.view_res_partner_filter"/>
<field name="name">res.partner.select</field>
<field name="model">res.partner</field>
<field name="arch" type="xml">
<field name="name" position="before">
<field name="street2" string="full-text"
filter_domain="[
'|',('name','ilike',self),
'|',('parent_id','ilike',self),
'|',('ref','=',self),
'|',('street','ilike',self),
'|',('street2','ilike',self),
'|',('zip','ilike',self),
'|',('city','ilike',self),
'|',('email','ilike',self),
'|',('phone','ilike',self),
'|',('fax','ilike',self),
'|',('mobile','ilike',self),
'|',('lang','ilike',self),
'|',('website','ilike',self),
'|',('country_id.name','ilike',self),
('ean13','ilike',self)
]" />
</field>
<field name="name" position="after">
<field name="parent_id" filter_domain="[('parent_id','ilike',self)]"/>
<field name="ref" filter_domain="[('ref','ilike',self)]"/>
<field name="street" filter_domain="['|',('street','ilike',self),('street2','ilike',self)]"/>
<field name="zip" filter_domain="[('zip','ilike',self)]"/>
<field name="city" filter_domain="[('city','ilike',self)]"/>
<field name="email" filter_domain="[('email','ilike',self)]"/>
<field name="phone" filter_domain="[('phone','ilike',self)]"/>
<field name="fax" filter_domain="[('fax','ilike',self)]"/>
<field name="mobile" filter_domain="[('mobile','ilike',self)]"/>
<field name="lang" filter_domain="[('lang','ilike',self)]"/>
<field name="website" filter_domain="[('website','ilike',self)]"/>
<field name="country_id" filter_domain="[('country_id.name','ilike',self)]"/>
<field name="ean13" filter_domain="[('ean13','ilike',self)]"/>
</field>
</field>
</record>
and
<record id="rcs_product_search_form_view" model="ir.ui.view">
<field name="inherit_id" ref="product.product_search_form_view"/>
<field name="name">product.search.form</field>
<field name="model">product.product</field>
<field name="arch" type="xml">
<field name="name" position="before">
<field name="description" string="full-text"
filter_domain="[
'|',('name','ilike',self),
'|',('description','ilike',self),
'|',('default_code','ilike',self),
'|',('seller_id','ilike',self),
'|',('seller_product_code','ilike',self),
'|',('description_sale','ilike',self),
('producer_id.name','ilike',self),
]" />
</field>
<field name="name" position="after">
<field name="default_code" filter_domain="[('default_code','ilike',self)]"/>
<field name="seller_id" filter_domain="[('seller_id','ilike',self)]"/>
<field name="seller_product_code" filter_domain="[('seller_product_code','ilike',self)]"/>
<field name="description_sale" filter_domain="[('description_sale','ilike',self)]"/>
<field name="producer_id" filter_domain="[('producer_id','ilike',self)]"/>
</field>
</field>
</record>
Thanks Ray, that sounds like a handy solution.
how can be change the advance search labels ; eg: Active is changed to Present where did i edit the view
I've found the source handle the "OR" behavior. In "web/addons/web/source/src/js/search.js" search for " if (domains.length === 1) { return domains[0]; } for (var i = domains.length; --i;) { domains.unshift(['|']); }"
Thank you, that looks very interesting.
Hello Andres,
You can change search behaviour , override def _search method .
Thanks,