| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/project |
| GIT | |
| GIT | https://github.com/OCA/project.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/project/tree/18.0/project_role |
| VERSION | |
| VERSION | 1.0.1 |
| CATEGORY | |
| CATEGORY | Project |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), CorporateHub |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), CorporateHub |
| COMMITTERS | |
| COMMITTERS | Weblate, OCA-git-bot, oca-ci, David Ramia, andrea |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/project |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 19:30:14 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - project - analytic - base - base_setup - web - bus - web_tour - html_editor - uom - portal - web_editor - http_routing - auth_signup - rating - resource - digest |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | This module allows maintaining project roster based on roles and assignments. List of roles is configured at company level, while assignments can be created on project, company, and cross-company levels, with configurable inheritance. |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
edit_project |
project.project.form | project.project | div | Inherits project.edit_project |
project_assignment_form |
project.assignment.form | project.assignment | form | New |
project_assignment_kanban |
project.assignment.kanban | project.assignment | kanban | New |
project_assignment_pivot |
project.assignment.pivot | project.assignment | pivot | New |
project_assignment_search |
project.assignment.search | project.assignment | search | New |
project_assignment_tree |
project.assignment.tree | project.assignment | list | New |
project_role_search |
project.role.search | project.role | search | New |
project_role_view_form |
project.role.view.form | project.role | form | New |
project_role_view_tree |
project.role.view.tree | project.role | list | New |
res_config_settings_view_form |
res.config.settings.view.form.project_role | res.config.settings | xpath | Inherits project.res_config_settings_view_form |
active
Boolean
default=True
company_id
Many2one → res.company
comodel_name='res.company'
default=<expr>
ondelete='cascade'
string='Company'
name
Char
compute='_compute_name'
index=True
store=True
project_id
Many2one → project.project
comodel_name='project.project'
ondelete='cascade'
string='Project'
role_id
Many2one → project.role
comodel_name='project.role'
ondelete='restrict'
required=True
string='Role'
user_id
Many2one → res.users
comodel_name='res.users'
ondelete='restrict'
required=True
string='User'
No public methods.
assignment_ids
One2many → project.assignment
comodel_name='project.assignment'
inverse_name='project_id'
string='Project Assignments'
tracking=True
inherit_assignments
Boolean
default=<expr>
limit_role_to_assignments
Boolean
default=<expr>
create(self, vals_list)
active
Boolean
default=True
child_ids
One2many → project.role
comodel_name='project.role'
copy=True
inverse_name='parent_id'
string='Child Roles'
company_id
Many2one → res.company
comodel_name='res.company'
default=<expr>
ondelete='cascade'
string='Company'
complete_name
Char
compute='_compute_complete_name'
recursive=True
store=True
description
Html
translate=html_translate
name
Char
required=True
translate=True
parent_id
Many2one → project.role
comodel_name='project.role'
index=True
ondelete='cascade'
string='Parent Role'
parent_path
Char
index=True
can_assign(self, user_id, project_id)
get_available_roles(self, user_id, project_id)
project_inherit_assignments
Boolean
default=True
string='Projects Inherit Assignments'
project_limit_role_to_assignments
Boolean
default=False
string='Limit Project Role to Assignments'
No public methods.
project_inherit_assignments
Boolean
readonly=False
related='company_id.project_inherit_assignments'
project_limit_role_to_assignments
Boolean
readonly=False
related='company_id.project_limit_role_to_assignments'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/project |
| GIT | |
| GIT | https://github.com/OCA/project.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/project/tree/17.0/project_role |
| VERSION | |
| VERSION | 1.0.0 |
| CATEGORY | |
| CATEGORY | Project |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), CorporateHub |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), CorporateHub |
| COMMITTERS | |
| COMMITTERS | Weblate, OCA-git-bot, oca-ci, David Ramia |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/project |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 19:20:06 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - project - analytic - base - base_setup - web - bus - web_tour - uom - portal - web_editor - http_routing - auth_signup - rating - resource - digest |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | This module allows maintaining project roster based on roles and assignments. List of roles is configured at company level, while assignments can be created on project, company, and cross-company levels, with configurable inheritance. |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
edit_project |
project.project.form | project.project | div | Inherits project.edit_project |
project_assignment_form |
project.assignment.form | project.assignment | form | New |
project_assignment_kanban |
project.assignment.kanban | project.assignment | kanban | New |
project_assignment_pivot |
project.assignment.pivot | project.assignment | pivot | New |
project_assignment_search |
project.assignment.search | project.assignment | search | New |
project_assignment_tree |
project.assignment.tree | project.assignment | tree | New |
project_role_search |
project.role.search | project.role | search | New |
project_role_view_form |
project.role.view.form | project.role | form | New |
project_role_view_tree |
project.role.view.tree | project.role | tree | New |
res_config_settings_view_form |
res.config.settings.view.form.project_role | res.config.settings | xpath | Inherits project.res_config_settings_view_form |
active
Boolean
default=True
company_id
Many2one → res.company
comodel_name='res.company'
default=<expr>
ondelete='cascade'
string='Company'
name
Char
compute='_compute_name'
index=True
store=True
project_id
Many2one → project.project
comodel_name='project.project'
ondelete='cascade'
string='Project'
role_id
Many2one → project.role
comodel_name='project.role'
ondelete='restrict'
required=True
string='Role'
user_id
Many2one → res.users
comodel_name='res.users'
ondelete='restrict'
required=True
string='User'
No public methods.
assignment_ids
One2many → project.assignment
comodel_name='project.assignment'
inverse_name='project_id'
string='Project Assignments'
tracking=True
inherit_assignments
Boolean
default=<expr>
limit_role_to_assignments
Boolean
default=<expr>
create(self, vals_list)
active
Boolean
default=True
child_ids
One2many → project.role
comodel_name='project.role'
copy=True
inverse_name='parent_id'
string='Child Roles'
company_id
Many2one → res.company
comodel_name='res.company'
default=<expr>
ondelete='cascade'
string='Company'
complete_name
Char
compute='_compute_complete_name'
recursive=True
store=True
description
Html
translate=html_translate
name
Char
required=True
translate=True
parent_id
Many2one → project.role
comodel_name='project.role'
index=True
ondelete='cascade'
string='Parent Role'
parent_path
Char
index=True
unaccent=False
can_assign(self, user_id, project_id)
get_available_roles(self, user_id, project_id)
project_inherit_assignments
Boolean
default=True
string='Projects Inherit Assignments'
project_limit_role_to_assignments
Boolean
default=False
string='Limit Project Role to Assignments'
No public methods.
project_inherit_assignments
Boolean
readonly=False
related='company_id.project_inherit_assignments'
project_limit_role_to_assignments
Boolean
readonly=False
related='company_id.project_limit_role_to_assignments'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/project |
| GIT | |
| GIT | https://github.com/OCA/project.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/project/tree/16.0/project_role |
| VERSION | |
| VERSION | 1.0.4 |
| CATEGORY | |
| CATEGORY | Project |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), CorporateHub |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), CorporateHub |
| COMMITTERS | |
| COMMITTERS | Miquel Raïch, Denis Leemann, Weblate, OCA-git-bot, oca-ci, David Ramia, Anjeel Haria, len |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/project |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:53:49 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - project - analytic - base - base_setup - web - bus - web_tour - uom - portal - web_editor - http_routing - auth_signup - rating - resource - digest |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
edit_project |
project.project.form | project.project | div | Inherits project.edit_project |
project_assignment_form |
project.assignment.form | project.assignment | form | New |
project_assignment_kanban |
project.assignment.kanban | project.assignment | kanban | New |
project_assignment_pivot |
project.assignment.pivot | project.assignment | pivot | New |
project_assignment_search |
project.assignment.search | project.assignment | search | New |
project_assignment_tree |
project.assignment.tree | project.assignment | tree | New |
project_role_search |
project.role.search | project.role | search | New |
project_role_view_form |
project.role.view.form | project.role | form | New |
project_role_view_tree |
project.role.view.tree | project.role | tree | New |
res_config_settings_view_form |
res.config.settings.view.form.project_role | res.config.settings | xpath | Inherits project.res_config_settings_view_form |
active
Boolean
default=True
company_id
Many2one → res.company
comodel_name='res.company'
default=<expr>
ondelete='cascade'
string='Company'
name
Char
compute='_compute_name'
index=True
store=True
project_id
Many2one → project.project
comodel_name='project.project'
ondelete='cascade'
string='Project'
role_id
Many2one → project.role
comodel_name='project.role'
ondelete='restrict'
required=True
string='Role'
user_id
Many2one → res.users
comodel_name='res.users'
ondelete='restrict'
required=True
string='User'
No public methods.
assignment_ids
One2many → project.assignment
comodel_name='project.assignment'
inverse_name='project_id'
string='Project Assignments'
tracking=True
inherit_assignments
Boolean
default=<expr>
limit_role_to_assignments
Boolean
default=<expr>
create(self, vals_list)
active
Boolean
default=True
child_ids
One2many → project.role
comodel_name='project.role'
copy=True
inverse_name='parent_id'
string='Child Roles'
company_id
Many2one → res.company
comodel_name='res.company'
default=<expr>
ondelete='cascade'
string='Company'
complete_name
Char
compute='_compute_complete_name'
recursive=True
store=True
description
Html
translate=html_translate
name
Char
required=True
translate=True
parent_id
Many2one → project.role
comodel_name='project.role'
index=True
ondelete='cascade'
string='Parent Role'
parent_path
Char
index=True
unaccent=False
can_assign(self, user_id, project_id)
get_available_roles(self, user_id, project_id)
project_inherit_assignments
Boolean
default=True
string='Projects Inherit Assignments'
project_limit_role_to_assignments
Boolean
default=False
string='Limit Project Role to Assignments'
No public methods.
project_inherit_assignments
Boolean
readonly=False
related='company_id.project_inherit_assignments'
project_limit_role_to_assignments
Boolean
readonly=False
related='company_id.project_limit_role_to_assignments'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/project |
| GIT | |
| GIT | https://github.com/OCA/project.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/project/tree/15.0/project_role |
| VERSION | |
| VERSION | 1.0.2 |
| CATEGORY | |
| CATEGORY | Project |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), CorporateHub |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), CorporateHub |
| COMMITTERS | |
| COMMITTERS | Alexey Pelykh, Miquel Raïch, Víctor Martínez, Weblate, OCA-git-bot, oca-ci |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/project |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:46:36 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - project - analytic - base - base_setup - web - bus - web_tour - uom - portal - web_editor - http_routing - auth_signup - rating - resource - digest |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
edit_project |
project.project.form | project.project | div | Inherits project.edit_project |
project_assignment_form |
project.assignment.form | project.assignment | form | New |
project_assignment_kanban |
project.assignment.kanban | project.assignment | kanban | New |
project_assignment_pivot |
project.assignment.pivot | project.assignment | pivot | New |
project_assignment_search |
project.assignment.search | project.assignment | search | New |
project_assignment_tree |
project.assignment.tree | project.assignment | tree | New |
project_role_search |
project.role.search | project.role | search | New |
project_role_view_form |
project.role.view.form | project.role | form | New |
project_role_view_tree |
project.role.view.tree | project.role | tree | New |
res_config_settings_view_form |
res.config.settings.view.form.project_role | res.config.settings | xpath | Inherits project.res_config_settings_view_form |
active
Boolean
default=True
company_id
Many2one → res.company
comodel_name='res.company'
default=<expr>
ondelete='cascade'
string='Company'
name
Char
compute='_compute_name'
index=True
store=True
project_id
Many2one → project.project
comodel_name='project.project'
ondelete='cascade'
string='Project'
role_id
Many2one → project.role
comodel_name='project.role'
ondelete='restrict'
required=True
string='Role'
user_id
Many2one → res.users
comodel_name='res.users'
ondelete='restrict'
required=True
string='User'
No public methods.
assignment_ids
One2many → project.assignment
comodel_name='project.assignment'
inverse_name='project_id'
string='Project Assignments'
tracking=True
inherit_assignments
Boolean
default=<expr>
limit_role_to_assignments
Boolean
default=<expr>
create(self, values)
active
Boolean
default=True
child_ids
One2many → project.role
comodel_name='project.role'
copy=True
inverse_name='parent_id'
string='Child Roles'
company_id
Many2one → res.company
comodel_name='res.company'
default=<expr>
ondelete='cascade'
string='Company'
complete_name
Char
compute='_compute_complete_name'
recursive=True
store=True
description
Html
translate=html_translate
name
Char
required=True
translate=True
parent_id
Many2one → project.role
comodel_name='project.role'
index=True
ondelete='cascade'
string='Parent Role'
parent_path
Char
index=True
can_assign(self, user_id, project_id)
get_available_roles(self, user_id, project_id)
project_inherit_assignments
Boolean
default=True
string='Projects Inherit Assignments'
project_limit_role_to_assignments
Boolean
default=False
string='Limit Project Role to Assignments'
No public methods.
project_inherit_assignments
Boolean
readonly=False
related='company_id.project_inherit_assignments'
project_limit_role_to_assignments
Boolean
readonly=False
related='company_id.project_limit_role_to_assignments'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/project |
| GIT | |
| GIT | https://github.com/OCA/project.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/project/tree/14.0/project_role |
| VERSION | |
| VERSION | 1.0.1 |
| CATEGORY | |
| CATEGORY | Project |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), CorporateHub |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), CorporateHub |
| COMMITTERS | |
| COMMITTERS | OCA Transbot, Miquel Raïch, oca-travis, Weblate, OCA-git-bot, oca-ci, newtratip, oca-git-bot, Yoshiro009 |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/project |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:41:02 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - project - analytic - base - base_setup - web - bus - web_tour - uom - portal - web_editor - http_routing - auth_signup - rating - resource - digest |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
edit_project |
project.project.form | project.project | div | Inherits project.edit_project |
project_assignment_form |
project.assignment.form | project.assignment | form | New |
project_assignment_kanban |
project.assignment.kanban | project.assignment | kanban | New |
project_assignment_pivot |
project.assignment.pivot | project.assignment | pivot | New |
project_assignment_search |
project.assignment.search | project.assignment | search | New |
project_assignment_tree |
project.assignment.tree | project.assignment | tree | New |
project_role_search |
project.role.search | project.role | search | New |
project_role_view_form |
project.role.view.form | project.role | form | New |
project_role_view_tree |
project.role.view.tree | project.role | tree | New |
res_config_settings_view_form |
res.config.settings.view.form.project_role | res.config.settings | xpath | Inherits project.res_config_settings_view_form |
active
Boolean
default=True
company_id
Many2one → res.company
comodel_name='res.company'
default=<expr>
ondelete='cascade'
string='Company'
name
Char
compute='_compute_name'
index=True
store=True
project_id
Many2one → project.project
comodel_name='project.project'
ondelete='cascade'
string='Project'
role_id
Many2one → project.role
comodel_name='project.role'
ondelete='restrict'
required=True
string='Role'
user_id
Many2one → res.users
comodel_name='res.users'
ondelete='restrict'
required=True
string='User'
No public methods.
assignment_ids
One2many → project.assignment
comodel_name='project.assignment'
inverse_name='project_id'
string='Project Assignments'
tracking=True
inherit_assignments
Boolean
default=<expr>
string='Inherit assignments'
limit_role_to_assignments
Boolean
default=<expr>
string='Limit role to assignments'
create(self, values)
active
Boolean
default=True
child_ids
One2many → project.role
comodel_name='project.role'
copy=True
inverse_name='parent_id'
string='Child Roles'
company_id
Many2one → res.company
comodel_name='res.company'
default=<expr>
ondelete='cascade'
string='Company'
complete_name
Char
compute='_compute_complete_name'
store=True
string='Complete Name'
description
Html
string='Description'
translate=html_translate
name
Char
required=True
string='Name'
translate=True
parent_id
Many2one → project.role
comodel_name='project.role'
index=True
ondelete='cascade'
string='Parent Role'
parent_path
Char
index=True
can_assign(self, user_id, project_id)
get_available_roles(self, user_id, project_id)
project_inherit_assignments
Boolean
default=True
string='Projects Inherit Assignments'
project_limit_role_to_assignments
Boolean
default=False
string='Limit Project Role to Assignments'
No public methods.
project_inherit_assignments
Boolean
readonly=False
related='company_id.project_inherit_assignments'
project_limit_role_to_assignments
Boolean
readonly=False
related='company_id.project_limit_role_to_assignments'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/project |
| GIT | |
| GIT | https://github.com/OCA/project.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/project/tree/13.0/project_role |
| VERSION | |
| VERSION | 1.0.0 |
| CATEGORY | |
| CATEGORY | Project |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), CorporateHub |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), CorporateHub |
| COMMITTERS | |
| COMMITTERS | Alexey Pelykh, OCA Transbot, oca-travis, Weblate, OCA-git-bot, alfadil |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/project |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:34:15 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - project - analytic - base - base_setup - web - bus - web_tour - uom - portal - web_editor - http_routing - auth_signup - rating - resource - digest |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
edit_project |
project.project.form | project.project | div | Inherits project.edit_project |
project_assignment_form |
project.assignment.form | project.assignment | form | New |
project_assignment_kanban |
project.assignment.kanban | project.assignment | kanban | New |
project_assignment_pivot |
project.assignment.pivot | project.assignment | pivot | New |
project_assignment_search |
project.assignment.search | project.assignment | search | New |
project_assignment_tree |
project.assignment.tree | project.assignment | tree | New |
project_role_search |
project.role.search | project.role | search | New |
project_role_view_form |
project.role.view.form | project.role | form | New |
project_role_view_tree |
project.role.view.tree | project.role | tree | New |
res_config_settings_view_form |
res.config.settings.view.form.project_role | res.config.settings | xpath | Inherits project.res_config_settings_view_form |
active
Boolean
default=True
company_id
Many2one → res.company
comodel_name='res.company'
default=<expr>
ondelete='cascade'
string='Company'
name
Char
compute='_compute_name'
index=True
store=True
project_id
Many2one → project.project
comodel_name='project.project'
ondelete='cascade'
string='Project'
role_id
Many2one → project.role
comodel_name='project.role'
ondelete='restrict'
required=True
string='Role'
user_id
Many2one → res.users
comodel_name='res.users'
ondelete='restrict'
required=True
string='User'
No public methods.
assignment_ids
One2many → project.assignment
comodel_name='project.assignment'
inverse_name='project_id'
string='Project Assignments'
track_visibility='onchange'
inherit_assignments
Boolean
default=<expr>
string='Inherit assignments'
limit_role_to_assignments
Boolean
default=<expr>
string='Limit role to assignments'
create(self, values)
active
Boolean
default=True
child_ids
One2many → project.role
comodel_name='project.role'
copy=True
inverse_name='parent_id'
string='Child Roles'
company_id
Many2one → res.company
comodel_name='res.company'
default=<expr>
ondelete='cascade'
string='Company'
complete_name
Char
compute='_compute_complete_name'
store=True
string='Complete Name'
description
Html
string='Description'
translate=html_translate
name
Char
required=True
translate=True
args: 'Name'
parent_id
Many2one → project.role
comodel_name='project.role'
index=True
ondelete='cascade'
string='Parent Role'
parent_path
Char
index=True
can_assign(self, user_id, project_id)
get_available_roles(self, user_id, project_id)
project_inherit_assignments
Boolean
default=True
string='Projects Inherit Assignments'
project_limit_role_to_assignments
Boolean
default=False
string='Limit Project Role to Assignments'
No public methods.
project_inherit_assignments
Boolean
readonly=False
related='company_id.project_inherit_assignments'
project_limit_role_to_assignments
Boolean
readonly=False
related='company_id.project_limit_role_to_assignments'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/project |
| GIT | |
| GIT | https://github.com/OCA/project.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/project/tree/12.0/project_role |
| VERSION | |
| VERSION | 3.0.1 |
| CATEGORY | |
| CATEGORY | Project |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), CorporateHub |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), CorporateHub |
| COMMITTERS | |
| COMMITTERS | Stéphane Bidoul, Alexey Pelykh, OCA Transbot, oca-travis, Weblate, OCA-git-bot |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/project |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:29:20 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - project - base_setup - base - web - bus - web_tour - portal - http_routing - rating - resource - digest |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
edit_project |
project.project.form | project.project | button | Inherits project.edit_project |
project_assignment_form |
project.assignment.form | project.assignment | form | New |
project_assignment_kanban |
project.assignment.kanban | project.assignment | kanban | New |
project_assignment_pivot |
project.assignment.pivot | project.assignment | pivot | New |
project_assignment_search |
project.assignment.search | project.assignment | search | New |
project_assignment_tree |
project.assignment.tree | project.assignment | tree | New |
project_role_search |
project.role.search | project.role | search | New |
project_role_view_form |
project.role.view.form | project.role | form | New |
project_role_view_tree |
project.role.view.tree | project.role | tree | New |
res_config_settings_view_form |
res.config.settings.view.form.project_role | res.config.settings | xpath | Inherits project.res_config_settings_view_form |
active
Boolean
default=True
company_id
Many2one → res.company
comodel_name='res.company'
default=<expr>
ondelete='cascade'
string='Company'
name
Char
compute='_compute_name'
index=True
store=True
project_id
Many2one → project.project
comodel_name='project.project'
ondelete='cascade'
string='Project'
role_id
Many2one → project.role
comodel_name='project.role'
ondelete='restrict'
required=True
string='Role'
user_id
Many2one → res.users
comodel_name='res.users'
ondelete='restrict'
required=True
string='User'
No public methods.
assignment_ids
One2many → project.assignment
comodel_name='project.assignment'
inverse_name='project_id'
string='Project Assignments'
track_visibility='onchange'
inherit_assignments
Boolean
default=<expr>
string='Inherit assignments'
limit_role_to_assignments
Boolean
default=<expr>
string='Limit role to assignments'
create(self, values)
active
Boolean
default=True
child_ids
One2many → project.role
comodel_name='project.role'
copy=True
inverse_name='parent_id'
string='Child Roles'
company_id
Many2one → res.company
comodel_name='res.company'
default=<expr>
ondelete='cascade'
string='Company'
complete_name
Char
compute='_compute_complete_name'
store=True
string='Complete Name'
description
Html
string='Description'
translate=html_translate
name
Char
required=True
translate=True
args: 'Name'
parent_id
Many2one → project.role
comodel_name='project.role'
index=True
ondelete='cascade'
string='Parent Role'
parent_path
Char
index=True
can_assign(self, user_id, project_id)
get_available_roles(self, user_id, project_id)
get_available_roles_domain(self, user_id, project_id)
project_inherit_assignments
Boolean
default=True
string='Projects Inherit Assignments'
project_limit_role_to_assignments
Boolean
default=False
string='Limit Project Role to Assignments'
No public methods.
project_inherit_assignments
Boolean
readonly=False
related='company_id.project_inherit_assignments'
project_limit_role_to_assignments
Boolean
readonly=False
related='company_id.project_limit_role_to_assignments'
No public methods.
| STATUS | |
|---|---|
| STATUS | Open migration PR - not merged yet for this version |
| REPOSITORY | |
| REPOSITORY | OCA/project |
| PULL REQUEST | |
| PULL REQUEST | [19.0] [MiIG] project role (#1747) |