Advanced filters

web_advanced_filters
REPOSITORY
REPOSITORYOCA/web
GIT
GIThttps://github.com/OCA/web.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/web/tree/7.0/web_advanced_filters
VERSION
VERSION 1.0
CATEGORY
CATEGORYTools
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Therp BV
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Therp BV
COMMITTERS
COMMITTERSAlexandre Fayolle, Holger Brunn, Stéphane Bidoul (ACSONE), OCA Transbot, Rudolf Schnapka, Stefan Rijnhart (Therp)
WEBSITE
WEBSITE
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:07:15
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - base
    - web
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
Introduction
------------

This addon allows users to apply set operations on filters: Remove or add
certain ids from/to a selection, but also to remove or add another filter's
outcome from/to a filter. This can be stacked, so the filter domain can be
arbitrarily complicated.

The math is hidden from the user as far as possible, in the hope it's still
user friendly.

Usage
-----

After this addon is installed, every list view shows a new menu 'Advanced
filters'. Here the set operations can be applied as necessary.

Caution
-------

Deinstalling this module will leave you with filters with empty domains. Use
this query before uninstalling to avoid that:

``alter table ir_filters rename domain_this to domain``
    

Code Analysis

Views touched (3)
XML IDNameModelTypeStatus
form_ir_filters_combine_with_existing ir.filters.combine.with.existing form New
form_ir_filters_save_new ir.filters form New
ir_filters_view_form ir.filters sheet Inherits base.ir_filters_view_form
Models touched (2)

New fields (0)

No new fields.

Public methods (4)
  • button_freeze(self, cr, uid, ids, context=None)
    evaluate the filter and write a fixed [('id', 'in', [])] domain
  • button_save(self, cr, uid, ids, context=None)
  • button_test(self, cr, uid, ids, context=None)
  • create(self, cr, uid, values, context=None)

New fields (0)

No new fields.

Public methods (1)
  • button_save(self, cr, uid, ids, context=None)