Web Custom Modifier

web_custom_modifier
REPOSITORY
REPOSITORYOCA/web
GIT
GIThttps://github.com/OCA/web.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/web/tree/14.0/web_custom_modifier
VERSION
VERSION 2.0.1
CATEGORY
CATEGORYProject
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Numigi
MAINTAINERS
MAINTAINERSNumigi
COMMITTERS
COMMITTERSWeblate, OCA-git-bot, oca-ci, Abdellatif Benzbiria
WEBSITE
WEBSITEhttps://github.com/OCA/web
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 18:50:04
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - base
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
This module allows to customize modifiers on form and tree view nodes.

For example, it allows to make a field readonly, invisible or required.

Code Analysis

Views touched (2)
XML IDNameModelTypeStatus
custom_modifier_list Custom Modifier List View web.custom.modifier tree New
custom_modifier_search Custom Modifier Search View web.custom.modifier search New
Models touched (3)

New fields (0)

No new fields.

Public methods (1)
  • fields_get(self, allfields=None, attributes=None)
    @api.model
    Add the custom modifiers to the fields metadata.

New fields (0)

No new fields.

Public methods (1)
  • postprocess(self, node, current_node_path, editable, name_manager)
    Add custom modifiers to the view xml. This method is called in Odoo when generating the final xml of a view.

New fields (7)
  • active Boolean
    default=True
  • excluded_group_ids Many2many → res.groups
    args: 'res.groups', 'web_custom_modifier_excluded_group_rel', 'modifier_id', 'group_id', 'Excluded Groups'
  • key Char
  • model_ids Many2many → ir.model
    args: 'ir.model', 'ir_model_custom_modifier', 'modifier_id', 'model_id', 'Model'
  • modifier Selection
    required=True args: [('invisible', 'Invisible'), ('column_invisible', 'Invisible (List Views)'), ('readonly', 'Readonly'), ('force_save', 'Force Save'), ('required', 'Required'), ('selection_hide', 'Hide Selection Item'), ('widget', 'Widget'), ('limit', 'Number of lines per page (List Views)'), ('optional', 'Optional')]
  • reference Char
    required=True
  • type_ Selection
    default='field' required=True string='Type' args: [('field', 'Field'), ('xpath', 'Xpath')]
Public methods (4)
  • create(self, vals)
    @api.model
  • get(self, model)
  • unlink(self)
  • write(self, vals)