Advanced filters

web_advanced_filter
REPOSITORY
REPOSITORYOCA/web
GIT
GIThttps://github.com/OCA/web.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/web/tree/12.0/web_advanced_filter
VERSION
VERSION 1.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
COMMITTERSStéphane Bidoul, Ronald Portier, OCA Transbot, oca-travis, Weblate, OCA-git-bot, Jan Verbeek
WEBSITE
WEBSITEhttps://github.com/OCA/web
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:29:22
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - web
    - base
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (4)
XML IDNameModelTypeStatus
assets_backend web_advanced_filter assets ir.ui.view qweb Inherits web.assets_backend
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 (8)
  • complement_filter_ids Many2many → ir.filters
    context={'active_test': False} args: 'ir.filters', 'ir_filters_complement_rel', 'left_filter_id', 'right_filter_id', 'Remove result of filters'
  • domain Text
    compute='_compute_domain' inverse='_inverse_domain'
  • domain_this Text
    oldname='domain' args: 'Domain without helpers'
  • evaluate_before_join Boolean
    compute='_compute_pre_evaluate' help='This is necessary if this filter contains x2many fields with_auto_join activated' args: 'Evaluate this filter before joining'
  • evaluate_before_negate Boolean
    compute='_compute_pre_evaluate' help='This is necessary if this filter contains positive operatorson x2many fields' args: 'Evaluate this filter before negating'
  • is_frozen Boolean
    compute='_compute_is_frozen' args: 'Frozen'
  • save_as_public Boolean
    default=False store=False args: 'Share with all users'
  • union_filter_ids Many2many → ir.filters
    context={'active_test': False} args: 'ir.filters', 'ir_filters_union_rel', 'left_filter_id', 'right_filter_id', 'Add result of filters'
Public methods (6)
  • button_freeze(self)
    @api.multi
    evaluate the filter and write a fixed [('id', 'in', [])] domain
  • button_save(self)
    @api.multi
  • button_test(self)
    @api.multi
  • create(self, vals_list)
    @api.model_create_multi
  • unlink(self)
    @api.multi
  • write(self, vals)
    @api.multi

New fields (5)
  • action Selection
    required=True args: [('union', 'Union'), ('complement', 'Complement')], 'Action'
  • context Char
    default='{}' required=True args: 'Context'
  • domain Char
    required=True args: 'Domain'
  • filter_id Many2one → ir.filters
    comodel_name='ir.filters' index=True ondelete='cascade' required=True string='Filter'
  • model Char
    required=True args: 'Model'
Public methods (1)
  • button_save(self)
    @api.multi