Odoo Help


How to change the default filter in place when opening a view?

on 5/11/13, 7:46 PM 16,778 views


When I click on "Products" under the sales tab there is a filter already applied ("can be sold"). Is there a way to change this default filter (or perhaps even to a more complex advanced search) for each view / on a user basis?

Thanks for the help!



Cyril Gaspard (GEM)

--Cyril Gaspard (GEM)--

| 5 6 8
Paris, France
--Cyril Gaspard (GEM)--

Forum contributor since 2008

Cyril Gaspard (GEM)
On 5/11/13, 9:53 PM


you must create a module to inherit action you want to modify,

see :

inherit action

example in 6.1 :

for produt search in product/product_view.xml, the search view for product is defined in this code :

<record id="product_search_form_view" model="ir.ui.view">
        <field name="name">product.search.form</field>
        <field name="model">product.product</field>
        <field name="type">search</field>
        <field name="arch" type="xml">
            <search string="Product">
               <filter string="Services" icon="terp-accessories-archiver" domain="[('type','=','service')]"/>
               <filter string="Products" icon="terp-accessories-archiver" domain="['|',('type','=','product'),('type','=','consu')]" help="Both stockable and consumable products"/>
               <separator orientation="vertical"/>
               <filter string="To Sell" name="filter_to_sell" icon="terp-accessories-archiver-minus" domain="[('sale_ok','=',1)]"/>
               <filter name="filter_to_purchase" string="To Purchase" icon="terp-accessories-archiver+" domain="[('purchase_ok', '=', 1)]" />
               <separator orientation="vertical"/>
               <field name="name"
                    filter_domain="['|', ('name','ilike',self),('default_code','ilike',self)]"/>
               <field name="categ_id" widget="selection" operator="child_of" groups="base.group_extended"/>
               <group expand="0" string="Context..." groups="base.group_extended">
                   <field name="pricelist_id" widget="selection" context="{'pricelist': self}" />
                   <separator orientation="vertical" groups="base.group_multi_company" />
                   <field name="company_id" widget="selection" groups="base.group_multi_company" />
               <group  expand='0' string='Group by...' groups="base.group_extended">
                   <filter string='Category' icon="terp-stock_symbol-selection" domain="[]" context="{'group_by' : 'categ_id'}" groups="base.group_extended"/>
                   <separator orientation="vertical"/>
                   <filter string='Default UOM' icon="terp-mrp" domain="[]" context="{'group_by' : 'uom_id'}" />
                   <separator orientation="vertical"/>
                   <filter string='Type' icon="terp-stock_symbol-selection" domain="[]" context="{'group_by' : 'type'}" />
                   <separator orientation="vertical" groups="base.group_multi_company"/>
                   <filter string='Company' icon="terp-go-home" domain="[]" context="{'group_by' : 'company_id'}" groups="base.group_multi_company" />


you have a filter defines for your description :

<filter string="To Sell" name="filter_to_sell" icon="terp-accessories-archiver-minus" domain="[('sale_ok','=',1)]"/>

the default filter is defined in the action, in the code with the reference to th search view id :

<field name="search_view_id" ref="product_search_form_view"/>

in :

<record id="product_normal_action_sell" model="ir.actions.act_window">
        <field name="name">Products</field>
        <field name="type">ir.actions.act_window</field>
        <field name="res_model">product.product</field>
        <field name="view_mode">tree,form,kanban</field>
        <field name="view_type">form</field>
        <field name="context">{"search_default_filter_to_sell":1}</field>
        <field name="view_id" ref="product_product_tree_view"/>  
        <field name="search_view_id" ref="product_search_form_view"/>            
        <field name="help">You must define a Product for everything you buy or sell. Products can be raw materials, stockable products, consumables or services. The Product form contains detailed information about your products related to procurement logistics, sales price, product category, suppliers and so on.</field>

the default filter is defined like this : search_default + field name filter, in your case : search_default_filter_to_sell

to have the filter on, the value defined is 1 (True): "search_default_filter_to_sell":1

for your need, give the value 0 in your inherited action (False)

you can do the same thing for every search view.

you can activate one or more filter default in a list separated by comma.

<field name="context">{"search_default_filter_to_sell":0,"search_default_filter_to_purchase":1}</field>

just put default filter you want with value 1 or 0, by default filter is to 0 for each filter.


This is very helpful. Thanks a lot!!

on 7/24/15, 3:24 AM

About This Community

This platform is for beginners and experts willing to share their Odoo knowledge. It's not a forum to discuss ideas, but a knowledge base of questions and their answers.


Odoo Training Center

Access to our E-learning platform and experience all Odoo Apps through learning videos, exercises and Quizz.

Test it now

Question tools

2 follower(s)


Asked: 5/11/13, 7:46 PM
Seen: 16778 times
Last updated: 3/16/15, 8:10 AM