Repository
OCA/project · module folder · Try on Runboat
Module version
1.0.1
Category
Project
Folder size
0.24 MB
License
AGPL-3
Application
No
Auto-installable
No
Website
https://github.com/OCA/project
Last tracking update
2026-08-07 08:42:45
Authors
Odoo Community Association (OCA), CorporateHub
Maintainers
Odoo Community Association (OCA), CorporateHub
Committers
David Ramia, Weblate, OCA-git-bot, oca-ci, andrea
Odoo dependencies
Python dependencies
None
System dependencies
None
Required by
oca_all
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.

Code Analysis

Views touched (10)
XML IDNameModelTypeStatus
edit_project project.project.form project.project form 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 form Inherits project.res_config_settings_view_form
HTTP endpoints (0)

No HTTP endpoints found for this module.

Models touched (5)

New fields (6)
  • 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'
Public methods (0)

No public methods.

New fields (3)
  • 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>
Public methods (1)
  • create(self, vals_list)
    @api.model_create_multi

New fields (8)
  • 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
Public methods (2)
  • can_assign(self, user_id, project_id)
    Extension point to check if user can be assigned to this role
  • get_available_roles(self, user_id, project_id)
    @api.model
    Get domain on roles that can be assumed by given user on a specific project, depending on company and project assignments configuration.

New fields (2)
  • project_inherit_assignments Boolean
    default=True string='Projects Inherit Assignments'
  • project_limit_role_to_assignments Boolean
    default=False string='Limit Project Role to Assignments'
Public methods (0)

No public methods.

New fields (2)
  • 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'
Public methods (0)

No public methods.

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…

Status
Open migration PR — not merged yet for this version
CI status
green — ready to merge
Open since
69 days ago
Last activity
66 days ago
Repository
OCA/project
Pull request
[19.0] [MiIG] project role (#1747)