Web Button Visibility

web_button_visibility
REPOSITORY
REPOSITORYOCA/web
GIT
GIThttps://github.com/OCA/web.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/web/tree/14.0/web_button_visibility
VERSION
VERSION 1.1.0
CATEGORY
CATEGORYWeb
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Ilyas, ooops404
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Ilyas, ooops404
COMMITTERS
COMMITTERSWeblate, OCA-git-bot, Simone Rubino, oca-ci, Ilyas, Melody Uffreduzzi
WEBSITE
WEBSITEhttps://github.com/OCA/web
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:41:08
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 (5)
XML IDNameModelTypeStatus
view_hide_button_rule_form model.button.rule.form.view model.button.rule form New
view_model_form_inherit view.model.form.inherit ir.model xpath Inherits base.view_model_form
view_users_demo_form res.users.demo.form1 res.users form New
view_users_demo_form2 res.users.demo.form2 res.users form New
view_users_demo_form3 res.users.demo.form3 res.users form New
Models touched (3)

New fields (0)

No new fields.

Public methods (3)
  • create_hide_button_field(self, restrictions, arch)
    Create a computed field which will be used in attrs of button to hide it
  • default_get(self, fields_list)
  • fields_view_get(self, view_id=None, view_type=False, toolbar=False, submenu=False)
    @api.model

New fields (1)
  • hide_button_rule_ids One2many → model.button.rule
    args: 'model.button.rule', 'model_id'
Public methods (0)

No public methods.

New fields (7)
  • action Selection
    default='hide' required=True args: [('hide', 'Hide')]
  • button_name Char
    required=True
  • button_visibility_field_id Many2one → ir.model.fields
    ondelete='cascade' args: 'ir.model.fields'
  • condition_domain Char
  • group_ids Many2many → res.groups
    required=True args: 'res.groups'
  • model_id Many2one → ir.model
    index=True ondelete='cascade' args: 'ir.model'
  • model_name Char
    related='model_id.model' string='Model Name'
Public methods (5)
  • create(self, vals)
    @api.model
  • create_restriction_field(self)
    Create computed visibility field to hide button
  • get_button_field_name(self)
  • unlink(self)
  • write(self, vals)