Update Restrict Model

base_model_restrict_update
REPOSITORY
REPOSITORYOCA/server-tools
GIT
GIThttps://github.com/OCA/server-tools.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/server-tools/tree/18.0/base_model_restrict_update
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYOthers
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Quartile
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Quartile
COMMITTERS
COMMITTERSWeblate, OCA-git-bot, oca-ci, Aungkokolin1997
WEBSITE
WEBSITEhttps://github.com/OCA/server-tools
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:30:07
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - base_setup
    - base
    - web
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
This module adds the following features:

- The ability to limit the update permissions for a model to certain
  groups
- The ability to revoke update permissions for specific users

Code Analysis

Views touched (3)
XML IDNameModelTypeStatus
res_config_settings_view_form res.config.settings.view.form.inherit.base.model.restrict.update res.config.settings xpath Inherits base_setup.res_config_settings_view_form
view_model_form ir.model form ir.model field Inherits base.view_model_form
view_users_form res.users.form res.users div Inherits base.view_users_form
Models touched (4)

New fields (2)
  • restrict_update Boolean
    help='When selected, the model is restricted to read-only unless the user belongs to an Update-Allowed Group.' args: 'Update Restrict Model'
  • update_allowed_group_ids Many2many → res.groups
    string='Update-Allowed Groups' args: 'res.groups', 'ir_model_res_groups_update_allowed_rel'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • check(self, model, mode='read', raise_exception=True)
    @api.model

New fields (1)
  • excluded_models_from_readonly Char
    config_parameter='base_model_restrict_update.excluded_models_from_readonly' help='Specified models, separated by commas, will be exempt from the read-only restriction for read-only users.' args: 'Excluded Models from Read-only'
Public methods (0)

No public methods.

New fields (1)
  • is_readonly_user Boolean
    help='Select this option to prevent the user from updating any business records.' args: 'Read-only User'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/server-tools
GIT
GIThttps://github.com/OCA/server-tools.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/server-tools/tree/17.0/base_model_restrict_update
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYOthers
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Quartile
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Quartile
COMMITTERS
COMMITTERSWeblate, OCA-git-bot, oca-ci, Aungkokolin1997
WEBSITE
WEBSITEhttps://github.com/OCA/server-tools
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:20:01
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - base_setup
    - base
    - web
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
This module adds the following features:

- The ability to limit the update permissions for a model to certain
  groups
- The ability to revoke update permissions for specific users

Code Analysis

Views touched (3)
XML IDNameModelTypeStatus
res_config_settings_view_form res.config.settings.view.form.inherit.base.model.restrict.update res.config.settings xpath Inherits base_setup.res_config_settings_view_form
view_model_form ir.model form ir.model field Inherits base.view_model_form
view_users_form res.users.form res.users div Inherits base.view_users_form
Models touched (4)

New fields (2)
  • restrict_update Boolean
    help='When selected, the model is restricted to read-only unless the user belongs to an Update-Allowed Group.' args: 'Update Restrict Model'
  • update_allowed_group_ids Many2many → res.groups
    string='Update-Allowed Groups' args: 'res.groups', 'ir_model_res_groups_update_allowed_rel'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • check(self, model, mode='read', raise_exception=True)
    @api.model

New fields (1)
  • excluded_models_from_readonly Char
    config_parameter='base_model_restrict_update.excluded_models_from_readonly' help='Specified models, separated by commas, will be exempt from the read-only restriction for read-only users.' args: 'Excluded Models from Read-only'
Public methods (0)

No public methods.

New fields (1)
  • is_readonly_user Boolean
    help='Select this option to prevent the user from updating any business records.' args: 'Read-only User'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/server-tools
GIT
GIThttps://github.com/OCA/server-tools.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/server-tools/tree/16.0/base_model_restrict_update
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYOthers
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Quartile
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Quartile
COMMITTERS
COMMITTERSWeblate, OCA-git-bot, oca-ci, Aungkokolin1997
WEBSITE
WEBSITEhttps://github.com/OCA/server-tools
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:53:53
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - base_setup
    - base
    - web
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (3)
XML IDNameModelTypeStatus
res_config_settings_view_form res.config.settings.view.form.inherit.base.model.restrict.update res.config.settings xpath Inherits base_setup.res_config_settings_view_form
view_model_form ir.model form ir.model field Inherits base.view_model_form
view_users_form res.users.form res.users div Inherits base.view_users_form
Models touched (4)

New fields (2)
  • restrict_update Boolean
    help='When selected, the model is restricted to read-only unless the user belongs to an Update-Allowed Group.' args: 'Update Restrict Model'
  • update_allowed_group_ids Many2many → res.groups
    string='Update-Allowed Groups' args: 'res.groups', 'ir_model_res_groups_update_allowed_rel'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • check(self, model, mode='read', raise_exception=True)
    @api.model

New fields (1)
  • excluded_models_from_readonly Char
    config_parameter='base_model_restrict_update.excluded_models_from_readonly' help='Specified models, separated by commas, will be exempt from the read-only restriction for read-only users.' args: 'Excluded Models from Read-only'
Public methods (0)

No public methods.

New fields (1)
  • is_readonly_user Boolean
    help='Select this option to prevent the user from updating any business records.' args: 'Read-only User'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/server-tools
GIT
GIThttps://github.com/OCA/server-tools.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/server-tools/tree/15.0/base_model_restrict_update
VERSION
VERSION 1.0.1
CATEGORY
CATEGORYOthers
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Quartile Limited
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Quartile Limited
COMMITTERS
COMMITTERSEnric Tobella, Weblate, OCA-git-bot, oca-ci, Saran440
WEBSITE
WEBSITEhttps://github.com/OCA/server-tools
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:46:38
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - base
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (2)
XML IDNameModelTypeStatus
view_model_form ir.model form ir.model field Inherits base.view_model_form
view_users_form res.users.form res.users div Inherits base.view_users_form
Models touched (3)

New fields (1)
  • restrict_update Boolean
    help='When selected, the model is restricted to read-only unless the user has the special permission.' args: 'Update Restrict Model'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • check(self, model, mode='read', raise_exception=True)
    @api.model@tools.ormcache_context('self.env.uid', 'self.env.su', 'model', 'mode', 'raise_exception', keys=('lang'))

New fields (2)
  • is_readonly_user Boolean
    help='Set to true and the user are readonly user on all models' args: 'Ready User'
  • unrestrict_model_update Boolean
    help='Set to true and the user can update restricted model.'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/server-tools
GIT
GIThttps://github.com/OCA/server-tools.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/server-tools/tree/14.0/base_model_restrict_update
VERSION
VERSION 1.1.0
CATEGORY
CATEGORYOthers
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Quartile Limited
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Quartile Limited
COMMITTERS
COMMITTERSYoshi Tashiro, OCA Transbot, oca-travis, Weblate, OCA-git-bot, oca-ci, Kitti U, oca-git-bot
WEBSITE
WEBSITEhttps://github.com/OCA/server-tools
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:41:05
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - base
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (2)
XML IDNameModelTypeStatus
view_model_form ir.model form ir.model field Inherits base.view_model_form
view_users_form res.users.form res.users div Inherits base.view_users_form
Models touched (3)

New fields (1)
  • restrict_update Boolean
    help='When selected, the model is restricted to read-only unless the user has the special permission.' args: 'Update Restrict Model'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • check(self, model, mode='read', raise_exception=True)
    @api.model@tools.ormcache_context('self.env.uid', 'self.env.su', 'model', 'mode', 'raise_exception', keys=('lang'))

New fields (2)
  • is_readonly_user Boolean
    help='Set to true and the user are readonly user on all models' args: 'Ready User'
  • unrestrict_model_update Boolean
    help='Set to true and the user can update restricted model.' args: 'Unrestrict Model Update'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/server-tools
GIT
GIThttps://github.com/OCA/server-tools.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/server-tools/tree/12.0/base_model_restrict_update
VERSION
VERSION 1.1.1
CATEGORY
CATEGORYOthers
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Quartile Limited
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Quartile Limited
COMMITTERS
COMMITTERSeLBati, OCA Transbot, oca-travis, Weblate, OCA-git-bot, oca-ci, tslai
WEBSITE
WEBSITEhttps://github.com/OCA/server-tools
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:29:22
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - base
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (2)
XML IDNameModelTypeStatus
view_model_form ir.model form ir.model field Inherits base.view_model_form
view_users_form res.users.form res.users div Inherits base.view_users_form
Models touched (3)

New fields (2)
  • restrict_update Boolean
    help='When selected, the model is restricted to read-only unless the user has the special permission.' args: 'Update Restrict Model'
  • skip_check_for_readonly_users Boolean
    help='Allow readonly users to create/write/delete records of this model'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • check(self, model, mode='read', raise_exception=True)
    @api.model@tools.ormcache_context('self.env.uid', 'model', 'mode', 'raise_exception', keys=('lang'))

New fields (2)
  • is_readonly_user Boolean
    help='Set to true and the user are readonly user on all models' args: 'Ready User'
  • unrestrict_model_update Boolean
    help='Set to true and the user can update restricted model.' args: 'Unrestrict Model Update'
Public methods (2)
  • toggle_is_readonly_user(self)
  • toggle_unrestrict_model_update(self)
    @api.multi
STATUS
STATUSOpen migration PR - not merged yet for this version
REPOSITORY
REPOSITORYOCA/server-tools
PULL REQUEST
PULL REQUEST[19.0][MIG] base_model_restrict_update: Migration to 19.0 (#3388)