| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/server-backend |
| GIT | |
| GIT | https://github.com/OCA/server-backend.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/server-backend/tree/19.0/base_user_role |
| VERSION | |
| VERSION | 1.0.2 |
| CATEGORY | |
| CATEGORY | Tools |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), ABF OSIELL |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), ABF OSIELL |
| COMMITTERS | |
| COMMITTERS | Víctor Martínez, Weblate, OCA-git-bot, oca-ci, Milan Topuzov, Johan Bjurstam |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/server-backend |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 19:40:51 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - base |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | This module was written to extend the standard functionality regarding users and groups management. It helps creating well-defined user roles and associating them to users. It can become very hard to maintain a large number of user profiles over time, juggling with many technical groups. For this purpose, this module will help you to: > - define functional roles by aggregating low-level groups, > - set user accounts with the predefined roles (roles are cumulative), > - update groups of all relevant user accounts (all at once), > - ensure that user accounts will have the groups defined in their > roles (nothing more, nothing less). In other words, you can not set > groups manually on a user as long as there is roles configured on > it, > - activate/deactivate roles depending on the date (useful to plan > holidays, etc) > - get a quick overview of roles and the related user accounts. That way you make clear the different responsabilities within a company, and are able to add and update user accounts in a scalable and reliable way. |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
create_from_user_wizard_view |
Create role from user | wizard.create.role.from.user | form | New |
group_groups_into_role_wiz_view |
wizard.groups.into.role.wiz.view | wizard.groups.into.role | form | New |
res_groups_view_form |
res.groups.form - base_user_role | res.groups | xpath | Inherits base.view_groups_form |
view_res_users_form_inherit |
res.users.form.inherit | res.users | xpath | Inherits base.view_users_form |
view_res_users_role_form |
res.users.role.form | res.users.role | form | New |
view_res_users_role_search |
res.users.role.search | res.users.role | search | New |
view_res_users_role_tree |
res.users.role.list | res.users.role | list | New |
view_res_users_search_inherit |
res.users.search.inherit | res.users | field | Inherits base.view_users_search |
view_res_users_tree_inherit |
res.users | field | Inherits base.view_users_tree |
parent_ids
Many2many → res.groups
help='Inverse relation for the Inherits field. The groups from which this group is inheriting'
string='Parents'
args: 'res.groups', 'res_groups_implied_rel', 'hid', 'gid'
role_count
Integer
compute='_compute_role_count'
args: '# User Roles'
role_id
One2many → res.users.role
comodel_name='res.users.role'
help='Relation for the groups that represents a role'
inverse_name='group_id'
role_ids
Many2many → res.users.role
comodel_name='res.users.role'
compute='_compute_role_ids'
help='Roles in which the group is involved'
relation='res_groups_implied_roles_rel'
string='User Roles'
trans_parent_ids
Many2many → res.groups
comodel_name='res.groups'
compute='_compute_trans_parent_ids'
recursive=True
string='Parent Groups'
view_access
Many2many
groups='base.group_system'
action_view_roles(self)
role_ids
One2many → res.users.role
comodel_name='res.users.role'
compute='_compute_role_ids'
compute_sudo=True
groups='base.group_erp_manager'
string='User Roles'
role_line_ids
One2many → res.users.role.line
comodel_name='res.users.role.line'
default=<expr>
groups='base.group_erp_manager'
inverse_name='user_id'
string='Role lines'
show_alert
Boolean
compute='_compute_show_alert'
create(self, vals_list)
set_groups_from_roles(self, force=False)
write(self, vals)
group_id
Many2one → res.groups
comodel_name='res.groups'
ondelete='cascade'
readonly=True
required=True
string='Associated group'
group_privilege_id
Many2one
help='Privilege assigned to the associated group.'
readonly=False
related='group_id.privilege_id'
string='Associated privilege'
is_default
Boolean
help='When enabled, this role is assigned to newly created users by default.'
string='Default on new users'
line_ids
One2many → res.users.role.line
comodel_name='res.users.role.line'
inverse_name='role_id'
string='Role lines'
model_access_count
Integer
compute='_compute_model_access_ids'
model_access_ids
Many2many → ir.model.access
comodel_name='ir.model.access'
compute='_compute_model_access_ids'
required=False
string='Access Rights'
role_user_ids
One2many → res.users
comodel_name='res.users'
compute='_compute_role_user_ids'
string='Users list'
rule_ids
Many2many → ir.rule
comodel_name='ir.rule'
compute='_compute_rule_ids'
required=False
string='Record Rules'
rules_count
Integer
compute='_compute_rule_ids'
copy(self, default=None)
create(self, vals_list)
cron_update_users(self)
read(self, fields=None, load='_classic_read')
show_model_access_ids(self)
show_rule_ids(self)
unlink(self)
update_users(self)
write(self, vals)
active
Boolean
related='user_id.active'
date_from
Date
date_to
Date
is_enabled
Boolean
compute='_compute_is_enabled'
args: 'Enabled'
role_id
Many2one → res.users.role
comodel_name='res.users.role'
ondelete='cascade'
required=True
string='Role'
user_id
Many2one → res.users
comodel_name='res.users'
domain=[('id', '!=', SUPERUSER_ID)]
ondelete='cascade'
required=True
string='User'
unlink(self)
assign_to_user
Boolean
default=True
args: 'Assign to user'
name
Char
required=True
create_from_user(self)
name
Char
help='Group groups into a role and specify a name for this role'
required=True
create_role(self)
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/server-backend |
| GIT | |
| GIT | https://github.com/OCA/server-backend.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/server-backend/tree/18.0/base_user_role |
| VERSION | |
| VERSION | 1.0.7 |
| CATEGORY | |
| CATEGORY | Tools |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), ABF OSIELL |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), ABF OSIELL |
| COMMITTERS | |
| COMMITTERS | Stefan Rijnhart, Víctor Martínez, Sébastien Alix, Weblate, OCA-git-bot, oca-ci, Jérémy Didderen, Bert Van Groenendael, Jaime Quiñones, Julien Hémono |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/server-backend |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 19:30:19 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - base |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | This module was written to extend the standard functionality regarding users and groups management. It helps creating well-defined user roles and associating them to users. It can become very hard to maintain a large number of user profiles over time, juggling with many technical groups. For this purpose, this module will help you to: > - define functional roles by aggregating low-level groups, > - set user accounts with the predefined roles (roles are cumulative), > - update groups of all relevant user accounts (all at once), > - ensure that user accounts will have the groups defined in their > roles (nothing more, nothing less). In other words, you can not set > groups manually on a user as long as there is roles configured on > it, > - activate/deactivate roles depending on the date (useful to plan > holidays, etc) > - get a quick overview of roles and the related user accounts. That way you make clear the different responsabilities within a company, and are able to add and update user accounts in a scalable and reliable way. |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
create_from_user_wizard_view |
Create role from user | wizard.create.role.from.user | form | New |
group_groups_into_role_wiz_view |
wizard.groups.into.role.wiz.view | wizard.groups.into.role | form | New |
res_groups_view_form |
res.groups.form - base_user_role | res.groups | xpath | Inherits base.view_groups_form |
view_res_users_form_inherit |
res.users.form.inherit | res.users | xpath | Inherits base.view_users_form |
view_res_users_role_add_users_wizard |
role.add.users.wizard.form | role.add.users.wizard | form | New |
view_res_users_role_form |
res.users.role.form | res.users.role | form | New |
view_res_users_role_search |
res.users.role.search | res.users.role | search | New |
view_res_users_role_tree |
res.users.role.list | res.users.role | list | New |
view_res_users_search_inherit |
res.users.search.inherit | res.users | field | Inherits base.view_users_search |
view_res_users_tree_inherit |
res.users | field | Inherits base.view_users_tree |
parent_ids
Many2many → res.groups
help='Inverse relation for the Inherits field. The groups from which this group is inheriting'
string='Parents'
args: 'res.groups', 'res_groups_implied_rel', 'hid', 'gid'
role_count
Integer
compute='_compute_role_count'
args: '# User Roles'
role_id
One2many → res.users.role
comodel_name='res.users.role'
help='Relation for the groups that represents a role'
inverse_name='group_id'
role_ids
Many2many → res.users.role
comodel_name='res.users.role'
compute='_compute_role_ids'
help='Roles in which the group is involved'
relation='res_groups_implied_roles_rel'
string='User Roles'
trans_parent_ids
Many2many → res.groups
comodel_name='res.groups'
compute='_compute_trans_parent_ids'
recursive=True
string='Parent Groups'
view_access
Many2many
groups='base.group_system'
action_view_roles(self)
role_ids
One2many → res.users.role
comodel_name='res.users.role'
compute='_compute_role_ids'
compute_sudo=True
groups='base.group_erp_manager'
string='User Roles'
role_line_ids
One2many → res.users.role.line
comodel_name='res.users.role.line'
default=<expr>
groups='base.group_erp_manager'
inverse_name='user_id'
string='Role lines'
show_alert
Boolean
compute='_compute_show_alert'
create(self, vals_list)
set_groups_from_roles(self, force=False)
write(self, vals)
group_category_id
Many2one
default=<expr>
help="Associated group's category"
readonly=False
related='group_id.category_id'
string='Associated category'
group_id
Many2one → res.groups
comodel_name='res.groups'
ondelete='cascade'
readonly=True
required=True
string='Associated group'
line_ids
One2many → res.users.role.line
comodel_name='res.users.role.line'
inverse_name='role_id'
string='Role lines'
model_access_count
Integer
compute='_compute_model_access_ids'
model_access_ids
Many2many → ir.model.access
comodel_name='ir.model.access'
compute='_compute_model_access_ids'
required=False
string='Access Rights'
rule_ids
Many2many → ir.rule
comodel_name='ir.rule'
compute='_compute_rule_ids'
required=False
string='Record Rules'
rules_count
Integer
compute='_compute_rule_ids'
user_ids
One2many → res.users
comodel_name='res.users'
compute='_compute_user_ids'
string='Users list'
copy(self, default=None)
create(self, vals_list)
cron_update_users(self)
read(self, fields=None, load='_classic_read')
show_model_access_ids(self)
show_rule_ids(self)
unlink(self)
update_users(self)
write(self, vals)
active
Boolean
related='user_id.active'
date_from
Date
date_to
Date
is_enabled
Boolean
compute='_compute_is_enabled'
args: 'Enabled'
role_id
Many2one → res.users.role
comodel_name='res.users.role'
ondelete='cascade'
required=True
string='Role'
user_id
Many2one → res.users
comodel_name='res.users'
domain=[('id', '!=', SUPERUSER_ID)]
ondelete='cascade'
required=True
string='User'
unlink(self)
date_from
Date
date_to
Date
role_id
Many2one → res.users.role
comodel_name='res.users.role'
ondelete='cascade'
required=True
user_ids
Many2many → res.users
comodel_name='res.users'
required=True
string='Users'
action_add_users(self)
assign_to_user
Boolean
default=True
args: 'Assign to user'
name
Char
required=True
create_from_user(self)
name
Char
help='Group groups into a role and specify a name for this role'
required=True
create_role(self)
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/server-backend |
| GIT | |
| GIT | https://github.com/OCA/server-backend.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/server-backend/tree/17.0/base_user_role |
| VERSION | |
| VERSION | 1.1.2 |
| CATEGORY | |
| CATEGORY | Tools |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), ABF OSIELL |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), ABF OSIELL |
| COMMITTERS | |
| COMMITTERS | Sébastien Alix, Weblate, OCA-git-bot, Raf Ven, oca-ci, Dawn Hwang, Christopher Rogos |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/server-backend |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 19:20:11 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - base |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | This module was written to extend the standard functionality regarding users and groups management. It helps creating well-defined user roles and associating them to users. It can become very hard to maintain a large number of user profiles over time, juggling with many technical groups. For this purpose, this module will help you to: > - define functional roles by aggregating low-level groups, > - set user accounts with the predefined roles (roles are cumulative), > - update groups of all relevant user accounts (all at once), > - ensure that user accounts will have the groups defined in their > roles (nothing more, nothing less). In other words, you can not set > groups manually on a user as long as there is roles configured on > it, > - activate/deactivate roles depending on the date (useful to plan > holidays, etc) > - get a quick overview of roles and the related user accounts. That way you make clear the different responsabilities within a company, and are able to add and update user accounts in a scalable and reliable way. |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
create_from_user_wizard_view |
Create role from user | wizard.create.role.from.user | form | New |
group_groups_into_role_wiz_view |
wizard.groups.into.role.wiz.view | wizard.groups.into.role | form | New |
res_groups_view_form |
res.groups.form - base_user_role | res.groups | xpath | Inherits base.view_groups_form |
view_res_users_form_inherit |
res.users.form.inherit | res.users | xpath | Inherits base.view_users_form |
view_res_users_role_form |
res.users.role.form | res.users.role | form | New |
view_res_users_role_search |
res.users.role.search | res.users.role | search | New |
view_res_users_role_tree |
res.users.role.tree | res.users.role | tree | New |
view_res_users_search_inherit |
res.users.search.inherit | res.users | field | Inherits base.view_users_search |
view_res_users_tree_inherit |
res.users | field | Inherits base.view_users_tree |
parent_ids
Many2many → res.groups
help='Inverse relation for the Inherits field. The groups from which this group is inheriting'
string='Parents'
args: 'res.groups', 'res_groups_implied_rel', 'hid', 'gid'
role_count
Integer
compute='_compute_role_count'
args: '# Roles'
role_id
One2many → res.users.role
comodel_name='res.users.role'
help='Relation for the groups that represents a role'
inverse_name='group_id'
role_ids
Many2many → res.users.role
comodel_name='res.users.role'
compute='_compute_role_ids'
help='Roles in which the group is involved'
relation='res_groups_implied_roles_rel'
string='Roles'
trans_parent_ids
Many2many → res.groups
comodel_name='res.groups'
compute='_compute_trans_parent_ids'
recursive=True
string='Parent Groups'
view_access
Many2many
groups='base.group_system'
action_view_roles(self)
role_ids
One2many → res.users.role
comodel_name='res.users.role'
compute='_compute_role_ids'
compute_sudo=True
groups='base.group_erp_manager'
string='Roles'
role_line_ids
One2many → res.users.role.line
comodel_name='res.users.role.line'
default=<expr>
groups='base.group_erp_manager'
inverse_name='user_id'
string='Role lines'
show_alert
Boolean
compute='_compute_show_alert'
create(self, vals_list)
set_groups_from_roles(self, force=False)
write(self, vals)
group_category_id
Many2one
default=<expr>
help="Associated group's category"
readonly=False
related='group_id.category_id'
string='Associated category'
group_id
Many2one → res.groups
comodel_name='res.groups'
ondelete='cascade'
readonly=True
required=True
string='Associated group'
line_ids
One2many → res.users.role.line
comodel_name='res.users.role.line'
inverse_name='role_id'
string='Role lines'
model_access_count
Integer
compute='_compute_model_access_ids'
model_access_ids
Many2many → ir.model.access
comodel_name='ir.model.access'
compute='_compute_model_access_ids'
required=False
string='Access Rights'
rule_ids
Many2many → ir.rule
comodel_name='ir.rule'
compute='_compute_rule_ids'
required=False
string='Record Rules'
rules_count
Integer
compute='_compute_rule_ids'
user_ids
One2many → res.users
comodel_name='res.users'
compute='_compute_user_ids'
string='Users list'
copy(self, default=None)
create(self, vals_list)
cron_update_users(self)
read(self, fields=None, load='_classic_read')
show_model_access_ids(self)
show_rule_ids(self)
unlink(self)
update_users(self)
write(self, vals)
active
Boolean
related='user_id.active'
date_from
Date
date_to
Date
is_enabled
Boolean
compute='_compute_is_enabled'
args: 'Enabled'
role_id
Many2one → res.users.role
comodel_name='res.users.role'
ondelete='cascade'
required=True
string='Role'
user_id
Many2one → res.users
comodel_name='res.users'
domain=[('id', '!=', SUPERUSER_ID)]
ondelete='cascade'
required=True
string='User'
unlink(self)
assign_to_user
Boolean
default=True
args: 'Assign to user'
name
Char
required=True
create_from_user(self)
name
Char
help='Group groups into a role and specify a name for this role'
required=True
create_role(self)
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/server-backend |
| GIT | |
| GIT | https://github.com/OCA/server-backend.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/server-backend/tree/16.0/base_user_role |
| VERSION | |
| VERSION | 1.4.4 |
| CATEGORY | |
| CATEGORY | Tools |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), ABF OSIELL |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), ABF OSIELL |
| COMMITTERS | |
| COMMITTERS | Arnaud Pineux, Sylvain LE GAL, GitHub, Daniel Reis, Víctor Martínez, Sébastien Alix, JordiMForgeFlow, Weblate, OCA-git-bot, oca-ci, Daniel Duque, Jérémy Didderen, Guillaume Pothier |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/server-backend |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:54:00 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - base |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
create_from_user_wizard_view |
Create role from user | wizard.create.role.from.user | form | New |
group_groups_into_role_wiz_view |
wizard.groups.into.role.wiz.view | wizard.groups.into.role | form | New |
res_groups_view_form |
res.groups.form - base_user_role | res.groups | xpath | Inherits base.view_groups_form |
view_res_users_form_inherit |
res.users.form.inherit | res.users | xpath | Inherits base.view_users_form |
view_res_users_role_form |
res.users.role.form | res.users.role | form | New |
view_res_users_role_search |
res.users.role.search | res.users.role | search | New |
view_res_users_role_tree |
res.users.role.tree | res.users.role | tree | New |
view_res_users_search_inherit |
res.users.search.inherit | res.users | field | Inherits base.view_users_search |
view_res_users_tree_inherit |
res.users | field | Inherits base.view_users_tree |
parent_ids
Many2many → res.groups
help='Inverse relation for the Inherits field. The groups from which this group is inheriting'
string='Parents'
args: 'res.groups', 'res_groups_implied_rel', 'hid', 'gid'
role_count
Integer
compute='_compute_role_count'
args: '# Roles'
role_id
One2many → res.users.role
comodel_name='res.users.role'
help='Relation for the groups that represents a role'
inverse_name='group_id'
role_ids
Many2many → res.users.role
comodel_name='res.users.role'
compute='_compute_role_ids'
help='Roles in which the group is involved'
relation='res_groups_implied_roles_rel'
string='Roles'
trans_parent_ids
Many2many → res.groups
comodel_name='res.groups'
compute='_compute_trans_parent_ids'
recursive=True
string='Parent Groups'
view_access
Many2many
groups='base.group_system'
action_view_roles(self)
role_ids
One2many → res.users.role
comodel_name='res.users.role'
compute='_compute_role_ids'
compute_sudo=True
groups='base.group_erp_manager'
string='Roles'
role_line_ids
One2many → res.users.role.line
comodel_name='res.users.role.line'
default=<expr>
groups='base.group_erp_manager'
inverse_name='user_id'
string='Role lines'
show_alert
Boolean
compute='_compute_show_alert'
copy(self, default=None)
create(self, vals_list)
set_groups_from_roles(self, force=False)
write(self, vals)
group_category_id
Many2one
default=<expr>
help="Associated group's category"
readonly=False
related='group_id.category_id'
string='Associated category'
group_id
Many2one → res.groups
comodel_name='res.groups'
ondelete='cascade'
readonly=True
required=True
string='Associated group'
line_ids
One2many → res.users.role.line
comodel_name='res.users.role.line'
inverse_name='role_id'
string='Role lines'
model_access_count
Integer
compute='_compute_model_access_ids'
model_access_ids
Many2many → ir.model.access
comodel_name='ir.model.access'
compute='_compute_model_access_ids'
required=False
string='Access Rights'
rule_ids
Many2many → ir.rule
comodel_name='ir.rule'
compute='_compute_rule_ids'
required=False
string='Record Rules'
rules_count
Integer
compute='_compute_rule_ids'
user_ids
One2many → res.users
comodel_name='res.users'
compute='_compute_user_ids'
string='Users list'
copy(self, default=None)
create(self, vals_list)
cron_update_users(self)
read(self, fields=None, load='_classic_read')
show_model_access_ids(self)
show_rule_ids(self)
unlink(self)
update_users(self)
write(self, vals)
active
Boolean
related='user_id.active'
date_from
Date
date_to
Date
is_enabled
Boolean
compute='_compute_is_enabled'
args: 'Enabled'
role_id
Many2one → res.users.role
comodel_name='res.users.role'
ondelete='cascade'
required=True
string='Role'
user_id
Many2one → res.users
comodel_name='res.users'
domain=[('id', '!=', SUPERUSER_ID)]
ondelete='cascade'
required=True
string='User'
unlink(self)
assign_to_user
Boolean
default=True
args: 'Assign to user'
name
Char
required=True
create_from_user(self)
name
Char
help='Group groups into a role and specify a name for this role'
required=True
create_role(self)
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/server-backend |
| GIT | |
| GIT | https://github.com/OCA/server-backend.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/server-backend/tree/15.0/base_user_role |
| VERSION | |
| VERSION | 0.4.2 |
| CATEGORY | |
| CATEGORY | Tools |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), ABF OSIELL |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), ABF OSIELL |
| COMMITTERS | |
| COMMITTERS | GitHub, Kiril Vangelovski, OCA Transbot, Víctor Martínez, Sébastien Alix, JordiMForgeFlow, Weblate, OCA-git-bot, SilvioC2C, oca-ci, Tatiana Deribina, Adam Heinz, GuillemCForgeFlow, Laurent Stukkens, Jérémy Didderen, ArnauCForgeFlow |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/server-backend |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:46:43 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - base |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
group_groups_into_role_wiz_view |
wizard.groups.into.role.wiz.view | wizard.groups.into.role | form | New |
res_groups_view_form |
res.groups.form - base_user_role | res.groups | xpath | Inherits base.view_groups_form |
view_res_users_form_inherit |
res.users.form.inherit | res.users | xpath | Inherits base.view_users_form |
view_res_users_role_form |
res.users.role.form | res.users.role | form | New |
view_res_users_role_search |
res.users.role.search | res.users.role | search | New |
view_res_users_role_tree |
res.users.role.tree | res.users.role | tree | New |
view_res_users_search_inherit |
res.users.search.inherit | res.users | field | Inherits base.view_users_search |
view_res_users_tree_inherit |
res.users | field | Inherits base.view_users_tree |
parent_ids
Many2many → res.groups
help='Inverse relation for the Inherits field. The groups from which this group is inheriting'
string='Parents'
args: 'res.groups', 'res_groups_implied_rel', 'hid', 'gid'
role_count
Integer
compute='_compute_role_count'
args: '# Roles'
role_id
One2many → res.users.role
comodel_name='res.users.role'
help='Relation for the groups that represents a role'
inverse_name='group_id'
role_ids
Many2many → res.users.role
comodel_name='res.users.role'
compute='_compute_role_ids'
help='Roles in which the group is involved'
relation='res_groups_implied_roles_rel'
string='Roles'
trans_parent_ids
Many2many → res.groups
comodel_name='res.groups'
compute='_compute_trans_parent_ids'
recursive=True
string='Parent Groups'
view_access
Many2many
groups='base.group_system'
action_view_roles(self)
role_ids
One2many → res.users.role
comodel_name='res.users.role'
compute='_compute_role_ids'
compute_sudo=True
groups='base.group_erp_manager'
string='Roles'
role_line_ids
One2many → res.users.role.line
comodel_name='res.users.role.line'
default=<expr>
groups='base.group_erp_manager'
inverse_name='user_id'
string='Role lines'
create(self, vals)
set_groups_from_roles(self, force=False)
write(self, vals)
group_category_id
Many2one
default=<expr>
help="Associated group's category"
readonly=False
related='group_id.category_id'
string='Associated category'
group_id
Many2one → res.groups
comodel_name='res.groups'
ondelete='cascade'
readonly=True
required=True
string='Associated group'
line_ids
One2many → res.users.role.line
comodel_name='res.users.role.line'
inverse_name='role_id'
string='Role lines'
model_access_count
Integer
compute='_compute_model_access_ids'
model_access_ids
Many2many → ir.model.access
comodel_name='ir.model.access'
compute='_compute_model_access_ids'
required=False
string='Access Rights'
rule_ids
Many2many → ir.rule
comodel_name='ir.rule'
compute='_compute_rule_ids'
required=False
string='Record Rules'
rules_count
Integer
compute='_compute_rule_ids'
user_ids
One2many → res.users
comodel_name='res.users'
compute='_compute_user_ids'
string='Users list'
copy(self, default=None)
create(self, vals)
cron_update_users(self)
read(self, fields=None, load='_classic_read')
show_model_access_ids(self)
show_rule_ids(self)
unlink(self)
update_users(self)
write(self, vals)
active
Boolean
related='user_id.active'
date_from
Date
date_to
Date
is_enabled
Boolean
compute='_compute_is_enabled'
args: 'Enabled'
role_id
Many2one → res.users.role
comodel_name='res.users.role'
ondelete='cascade'
required=True
string='Role'
user_id
Many2one → res.users
comodel_name='res.users'
domain=[('id', '!=', SUPERUSER_ID)]
ondelete='cascade'
required=True
string='User'
unlink(self)
name
Char
help='Group groups into a role and specify a name for this role'
required=True
create_role(self)
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/server-backend |
| GIT | |
| GIT | https://github.com/OCA/server-backend.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/server-backend/tree/14.0/base_user_role |
| VERSION | |
| VERSION | 2.5.3 |
| CATEGORY | |
| CATEGORY | Tools |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), ABF OSIELL |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), ABF OSIELL |
| COMMITTERS | |
| COMMITTERS | GitHub, Daniel Reis, Harald Panten, OCA Transbot, Sébastien Alix, JordiMForgeFlow, Jesús Alan Ramos Rodríguez, Sébastien BEAU, oca-travis, Weblate, OCA-git-bot, oca-ci, KevinKhao, GuillemCForgeFlow, Jérémy Didderen, Kev-Roche |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/server-backend |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:41:12 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - base |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
res_groups_view_form |
res.groups.form - base_user_role | res.groups | xpath | Inherits base.view_groups_form |
view_res_users_form_inherit |
res.users.form.inherit | res.users | xpath | Inherits base.view_users_form |
view_res_users_role_form |
res.users.role.form | res.users.role | form | New |
view_res_users_role_search |
res.users.role.search | res.users.role | search | New |
view_res_users_role_tree |
res.users.role.tree | res.users.role | tree | New |
view_res_users_search_inherit |
res.users.search.inherit | res.users | field | Inherits base.view_users_search |
parent_ids
Many2many → res.groups
help='Inverse relation for the Inherits field. The groups from which this group is inheriting'
string='Parents'
args: 'res.groups', 'res_groups_implied_rel', 'hid', 'gid'
role_count
Integer
compute='_compute_role_count'
args: '# Roles'
role_id
One2many → res.users.role
comodel_name='res.users.role'
help='Relation for the groups that represents a role'
inverse_name='group_id'
role_ids
Many2many → res.users.role
comodel_name='res.users.role'
compute='_compute_role_ids'
help='Roles in which the group is involved'
relation='res_groups_implied_roles_rel'
string='Roles'
trans_parent_ids
Many2many → res.groups
comodel_name='res.groups'
compute='_compute_trans_parent_ids'
string='Parent Groups'
action_view_roles(self)
role_ids
One2many → res.users.role
comodel_name='res.users.role'
compute='_compute_role_ids'
compute_sudo=True
string='Roles'
role_line_ids
One2many → res.users.role.line
comodel_name='res.users.role.line'
default=<expr>
inverse_name='user_id'
string='Role lines'
create(self, vals)
set_groups_from_roles(self, force=False)
write(self, vals)
group_category_id
Many2one
default=<expr>
help="Associated group's category"
readonly=False
related='group_id.category_id'
string='Associated category'
group_id
Many2one → res.groups
comodel_name='res.groups'
ondelete='cascade'
readonly=True
required=True
string='Associated group'
line_ids
One2many → res.users.role.line
comodel_name='res.users.role.line'
inverse_name='role_id'
string='Role lines'
model_access_count
Integer
compute='_compute_model_access_ids'
model_access_ids
Many2many → ir.model.access
comodel_name='ir.model.access'
compute='_compute_model_access_ids'
required=False
string='Access Rights'
rule_ids
Many2many → ir.rule
comodel_name='ir.rule'
compute='_compute_rule_ids'
required=False
string='Record Rules'
rules_count
Integer
compute='_compute_rule_ids'
user_ids
One2many → res.users
comodel_name='res.users'
compute='_compute_user_ids'
string='Users list'
copy(self, default=None)
create(self, vals)
cron_update_users(self)
read(self, fields=None, load='_classic_read')
show_model_access_ids(self)
show_rule_ids(self)
unlink(self)
update_users(self)
write(self, vals)
active
Boolean
related='user_id.active'
date_from
Date
date_to
Date
is_enabled
Boolean
compute='_compute_is_enabled'
args: 'Enabled'
role_id
Many2one → res.users.role
comodel_name='res.users.role'
ondelete='cascade'
required=True
string='Role'
user_id
Many2one → res.users
comodel_name='res.users'
domain=[('id', '!=', SUPERUSER_ID)]
ondelete='cascade'
required=True
string='User'
unlink(self)
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/server-backend |
| GIT | |
| GIT | https://github.com/OCA/server-backend.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/server-backend/tree/13.0/base_user_role |
| VERSION | |
| VERSION | 1.4.1 |
| CATEGORY | |
| CATEGORY | Tools |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), ABF OSIELL |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), ABF OSIELL |
| COMMITTERS | |
| COMMITTERS | sebalix, Harald Panten, OCA Transbot, JordiMForgeFlow, Ernesto Tejeda, oca-travis, Weblate, OCA-git-bot, GuillemCForgeFlow, Vincent Hatakeyama |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/server-backend |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:34:20 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - base |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
res_groups_view_form |
res.groups.form - base_user_role | res.groups | xpath | Inherits base.view_groups_form |
view_res_users_form_inherit |
res.users.form.inherit | res.users | xpath | Inherits base.view_users_form |
view_res_users_role_form |
res.users.role.form | res.users.role | form | New |
view_res_users_role_search |
res.users.role.search | res.users.role | search | New |
view_res_users_role_tree |
res.users.role.tree | res.users.role | tree | New |
view_res_users_search_inherit |
res.users.search.inherit | res.users | field | Inherits base.view_users_search |
parent_ids
Many2many → res.groups
help='Inverse relation for the Inherits field. The groups from which this group is inheriting'
string='Parents'
args: 'res.groups', 'res_groups_implied_rel', 'hid', 'gid'
role_count
Integer
compute='_compute_role_count'
args: '# Roles'
role_id
One2many → res.users.role
comodel_name='res.users.role'
help='Relation for the groups that represents a role'
inverse_name='group_id'
role_ids
Many2many → res.users.role
comodel_name='res.users.role'
compute='_compute_role_ids'
help='Roles in which the group is involved'
relation='res_groups_implied_roles_rel'
string='Roles'
trans_parent_ids
Many2many → res.groups
comodel_name='res.groups'
compute='_compute_trans_parent_ids'
string='Parent Groups'
action_view_roles(self)
role_ids
One2many → res.users.role
comodel_name='res.users.role'
compute='_compute_role_ids'
compute_sudo=True
string='Roles'
role_line_ids
One2many → res.users.role.line
comodel_name='res.users.role.line'
default=<expr>
inverse_name='user_id'
string='Role lines'
create(self, vals)
set_groups_from_roles(self, force=False)
write(self, vals)
comment
Html
string='Internal Notes'
group_category_id
Many2one
default=<expr>
help="Associated group's category"
readonly=False
related='group_id.category_id'
string='Associated category'
group_id
Many2one → res.groups
comodel_name='res.groups'
ondelete='cascade'
readonly=True
required=True
string='Associated group'
line_ids
One2many → res.users.role.line
comodel_name='res.users.role.line'
inverse_name='role_id'
string='Role lines'
user_ids
One2many → res.users
comodel_name='res.users'
compute='_compute_user_ids'
string='Users list'
create(self, vals)
cron_update_users(self)
unlink(self)
update_users(self)
write(self, vals)
active
Boolean
related='user_id.active'
company_id
Many2one → res.company
default=<expr>
args: 'res.company', 'Company'
date_from
Date
date_to
Date
is_enabled
Boolean
compute='_compute_is_enabled'
args: 'Enabled'
role_id
Many2one → res.users.role
comodel_name='res.users.role'
ondelete='cascade'
required=True
string='Role'
user_id
Many2one → res.users
comodel_name='res.users'
domain=[('id', '!=', SUPERUSER_ID)]
ondelete='cascade'
required=True
string='User'
unlink(self)
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/server-backend |
| GIT | |
| GIT | https://github.com/OCA/server-backend.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/server-backend/tree/12.0/base_user_role |
| VERSION | |
| VERSION | 2.1.3 |
| CATEGORY | |
| CATEGORY | Tools |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), ABF OSIELL |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), ABF OSIELL |
| COMMITTERS | |
| COMMITTERS | Pedro M. Baeza, Sylvain LE GAL, Jairo Llopis, Daniel Reis, Harald Panten, Andrius Laukavičius, OCA Transbot, oca-travis, Weblate, OCA-git-bot, ernesto, hveficent, Duc Dao, hugues de keyzer, Kevin Khao |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/server-backend |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:29:25 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - base - base_setup - web - bus - web_tour |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
view_res_users_form_inherit |
res.users.form.inherit | res.users | xpath | Inherits base.view_users_form |
view_res_users_role_form |
res.users.role.form | res.users.role | form | New |
view_res_users_role_search |
res.users.role.search | res.users.role | search | New |
view_res_users_role_tree |
res.users.role.tree | res.users.role | tree | New |
view_res_users_search_inherit |
res.users.search.inherit | res.users | field | Inherits base.view_users_search |
role_ids
One2many → res.users.role
comodel_name='res.users.role'
compute='_compute_role_ids'
string='Roles'
role_line_ids
One2many → res.users.role.line
comodel_name='res.users.role.line'
default=<expr>
inverse_name='user_id'
string='Role lines'
create(self, vals)
set_groups_from_roles(self, force=False)
write(self, vals)
comment
Html
string='Internal Notes'
group_category_id
Many2one → ir.module.category
comodel_name='ir.module.category'
related='group_id.category_id'
string='Associated category'
group_id
Many2one → res.groups
comodel_name='res.groups'
ondelete='cascade'
readonly=True
required=True
string='Associated group'
line_ids
One2many → res.users.role.line
comodel_name='res.users.role.line'
inverse_name='role_id'
string='Role lines'
user_ids
One2many → res.users
comodel_name='res.users'
compute='_compute_user_ids'
string='Users list'
create(self, vals)
cron_update_users(self)
unlink(self)
update_users(self)
write(self, vals)
company_id
Many2one → res.company
default=<expr>
args: 'res.company', 'Company'
date_from
Date
date_to
Date
is_enabled
Boolean
compute='_compute_is_enabled'
args: 'Enabled'
role_id
Many2one → res.users.role
comodel_name='res.users.role'
ondelete='cascade'
string='Role'
user_id
Many2one → res.users
comodel_name='res.users'
string='User'
unlink(self)
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/server-backend |
| GIT | |
| GIT | https://github.com/OCA/server-backend.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/server-backend/tree/11.0/base_user_role |
| VERSION | |
| VERSION | 1.0.1 |
| CATEGORY | |
| CATEGORY | Tools |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), ABF OSIELL |
| MAINTAINERS | |
| MAINTAINERS | ABF OSIELL |
| COMMITTERS | |
| COMMITTERS | Pedro M. Baeza, Stéphane Bidoul (ACSONE), Harald Panten, Jordi Ballester Alomar, OCA Transbot, oca-travis, Weblate, Benjamin Willig, Duc Dao |
| WEBSITE | |
| WEBSITE | http://www.osiell.com |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:24:02 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - base |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
view_res_users_form_inherit |
res.users.form.inherit | res.users | xpath | Inherits base.view_users_form |
view_res_users_role_form |
res.users.role.form | res.users.role | form | New |
view_res_users_role_search |
res.users.role.search | res.users.role | search | New |
view_res_users_role_tree |
res.users.role.tree | res.users.role | tree | New |
view_res_users_search_inherit |
res.users.search.inherit | res.users | field | Inherits base.view_users_search |
role_ids
One2many → res.users.role
comodel_name='res.users.role'
compute='_compute_role_ids'
string='Roles'
role_line_ids
One2many → res.users.role.line
comodel_name='res.users.role.line'
default=<expr>
inverse_name='user_id'
string='Role lines'
create(self, vals)
set_groups_from_roles(self, force=False)
write(self, vals)
comment
Html
string='Internal Notes'
group_category_id
Many2one
default=<expr>
related='group_id.category_id'
group_id
Many2one → res.groups
comodel_name='res.groups'
ondelete='cascade'
readonly=True
required=True
string='Associated group'
line_ids
One2many → res.users.role.line
comodel_name='res.users.role.line'
inverse_name='role_id'
string='Users'
user_ids
One2many → res.users
comodel_name='res.users'
compute='_compute_user_ids'
string='Users'
create(self, vals)
cron_update_users(self)
unlink(self)
update_users(self)
write(self, vals)
date_from
Date
date_to
Date
is_enabled
Boolean
compute='_compute_is_enabled'
args: 'Enabled'
role_id
Many2one → res.users.role
comodel_name='res.users.role'
ondelete='cascade'
string='Role'
user_id
Many2one → res.users
comodel_name='res.users'
string='User'
unlink(self)
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/server-tools |
| GIT | |
| GIT | https://github.com/OCA/server-tools.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/server-tools/tree/10.0/base_user_role |
| VERSION | |
| VERSION | 1.0.3 |
| CATEGORY | |
| CATEGORY | Tools |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), ABF OSIELL |
| MAINTAINERS | |
| MAINTAINERS | ABF OSIELL |
| COMMITTERS | |
| COMMITTERS | GitHub, Jairo Llopis, Stéphane Bidoul (ACSONE), OCA Transbot, Adrien Peiffer (ACSONE), Dave Lasley, oca-travis, Weblate, Pierrick Brun, elicoidal, Benjamin Willig |
| WEBSITE | |
| WEBSITE | http://www.osiell.com |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:20:00 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - base |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
view_res_users_form_inherit |
res.users.form.inherit | res.users | xpath | Inherits base.view_users_form |
view_res_users_role_form |
res.users.role.form | res.users.role | form | New |
view_res_users_role_search |
res.users.role.search | res.users.role | search | New |
view_res_users_role_tree |
res.users.role.tree | res.users.role | tree | New |
view_res_users_search_inherit |
res.users.search.inherit | res.users | field | Inherits base.view_users_search |
role_ids
One2many → res.users.role
compute='_compute_role_ids'
string='Roles'
args: 'res.users.role'
role_line_ids
One2many → res.users.role.line
default=<expr>
string='Role lines'
args: 'res.users.role.line', 'user_id'
create(self, vals)
set_groups_from_roles(self)
write(self, vals)
group_category_id
Many2one
default=<expr>
related='group_id.category_id'
group_id
Many2one → res.groups
ondelete='cascade'
readonly=True
required=True
string='Associated group'
args: 'res.groups'
line_ids
One2many → res.users.role.line
string='Users'
args: 'res.users.role.line', 'role_id'
user_ids
One2many → res.users
compute='_compute_user_ids'
string='Users'
args: 'res.users'
create(self, vals)
cron_update_users(self)
update_users(self)
write(self, vals)
company_id
Many2one → res.company
default=<expr>
args: 'res.company', 'Company'
date_from
Date
date_to
Date
is_enabled
Boolean
compute='_compute_is_enabled'
args: 'Enabled'
role_id
Many2one → res.users.role
ondelete='cascade'
required=True
string='Role'
args: 'res.users.role'
user_id
Many2one → res.users
domain=[('id', '!=', SUPERUSER_ID)]
ondelete='cascade'
required=True
string='User'
args: 'res.users'
unlink(self)
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/server-tools |
| GIT | |
| GIT | https://github.com/OCA/server-tools.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/server-tools/tree/9.0/base_user_role |
| VERSION | |
| VERSION | 1.0.0 |
| CATEGORY | |
| CATEGORY | Tools |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), ABF OSIELL |
| MAINTAINERS | |
| MAINTAINERS | ABF OSIELL |
| COMMITTERS | |
| COMMITTERS | sebalix, Stéphane Bidoul (ACSONE), OCA Transbot, darshan-serpent, oca-travis, Weblate, elicoidal |
| WEBSITE | |
| WEBSITE | http://www.osiell.com |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:15:22 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - base |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
view_res_users_form_inherit |
res.users.form.inherit | res.users | xpath | Inherits base.view_users_form |
view_res_users_role_form |
res.users.role.form | res.users.role | form | New |
view_res_users_role_search |
res.users.role.search | res.users.role | search | New |
view_res_users_role_tree |
res.users.role.tree | res.users.role | tree | New |
view_res_users_search_inherit |
res.users.search.inherit | res.users | field | Inherits base.view_users_search |
role_ids
One2many → res.users.role
compute='_compute_role_ids'
string='Roles'
args: 'res.users.role'
role_line_ids
One2many → res.users.role.line
string='Role lines'
args: 'res.users.role.line', 'user_id'
create(self, vals)
set_groups_from_roles(self)
write(self, vals)
group_category_id
Many2one
default=<expr>
related='group_id.category_id'
group_id
Many2one → res.groups
ondelete='cascade'
readonly=True
required=True
string='Associated group'
args: 'res.groups'
line_ids
One2many → res.users.role.line
string='Users'
args: 'res.users.role.line', 'role_id'
user_ids
One2many → res.users
compute='_compute_user_ids'
string='Users'
args: 'res.users'
create(self, vals)
cron_update_users(self)
update_users(self)
write(self, vals)
date_from
Date
date_to
Date
is_enabled
Boolean
compute='_compute_is_enabled'
args: 'Enabled'
role_id
Many2one → res.users.role
ondelete='cascade'
string='Role'
args: 'res.users.role'
user_id
Many2one → res.users
string='User'
args: 'res.users'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/server-tools |
| GIT | |
| GIT | https://github.com/OCA/server-tools.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/server-tools/tree/8.0/base_user_role |
| VERSION | |
| VERSION | 1.2.0 |
| CATEGORY | |
| CATEGORY | Tools |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), ABF OSIELL |
| MAINTAINERS | |
| MAINTAINERS | ABF OSIELL |
| COMMITTERS | |
| COMMITTERS | Stefan Rijnhart, GitHub, sebalix, Stéphane Bidoul (ACSONE), OCA Transbot, Dave Lasley, oca-travis, Weblate, Mourad EL HADJ MIMOUNE |
| WEBSITE | |
| WEBSITE | http://www.osiell.com |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:11:25 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - base |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
view_res_users_form_inherit |
res.users.form.inherit | res.users | xpath | Inherits base.view_users_form |
view_res_users_role_form |
res.users.role.form | res.users.role | form | New |
view_res_users_role_search |
res.users.role.search | res.users.role | search | New |
view_res_users_role_tree |
res.users.role.tree | res.users.role | tree | New |
view_res_users_search_inherit |
res.users.search.inherit | res.users | field | Inherits base.view_users_search |
No new fields.
Public methods (1)update_user_groups_view(self)
role_ids
One2many → res.users.role
compute='_compute_role_ids'
string='Roles'
args: 'res.users.role'
role_line_ids
One2many → res.users.role.line
string='Role lines'
args: 'res.users.role.line', 'user_id'
create(self, vals)
set_groups_from_roles(self, force=False)
write(self, vals)
group_id
Many2one → res.groups
ondelete='cascade'
readonly=True
required=True
string='Associated group'
args: 'res.groups'
line_ids
One2many → res.users.role.line
string='Users'
args: 'res.users.role.line', 'role_id'
user_ids
One2many → res.users
compute='_compute_user_ids'
string='Users'
args: 'res.users'
create(self, vals)
cron_update_users(self)
unlink(self)
update_users(self)
write(self, vals)
date_from
Date
date_to
Date
is_enabled
Boolean
compute='_compute_is_enabled'
args: 'Enabled'
role_id
Many2one → res.users.role
ondelete='cascade'
string='Role'
args: 'res.users.role'
user_id
Many2one → res.users
string='User'
args: 'res.users'
unlink(self)