Repository
OCA/project · module folder · Try on Runboat
Module version
1.0.0
Category
Project
Folder size
0.06 MB
License
AGPL-3
Application
No
Auto-installable
No
Website
https://github.com/OCA/project
Last tracking update
2026-08-07 09:06:22
Authors
Odoo Community Association (OCA), NICO SOLUTIONS - ENGINEERING & IT
Maintainers
Odoo Community Association (OCA), NICO SOLUTIONS - ENGINEERING & IT
Committers
Weblate, Nils Coenen, OCA-git-bot, oca-ci
Odoo dependencies
Python dependencies
None
System dependencies
None
Required by
None
Description
This module automatically assigns default users to tasks.
- Stage-based assignment (priority rule): When creating a task or changing its stage to one with default users, those users are automatically assigned according to the stage’s assignment mode (replace or merge). Stage-based defaults always take priority over project defaults.
- Project-based fallback: If the stage does not define any default users, project default users are applied using the same assignment mode logic (replace or merge).
- Assignment behavior: The assignment mode controls how users are applied:
  - replace: replaces existing task users with default users
  - merge: adds default users to the existing task users without removing them
- Multiple default users supported: Both project and stage can define multiple default users.

Code Analysis

Views touched (3)
XML IDNameModelTypeStatus
project_edit_project_inherit_default_user project.edit.project.inherit.default.user project.project Inherits project.edit_project
project_task_type_edit_inherit_default_user project.task.type.edit.inherit.default.user project.task.type Inherits project.task_type_edit
project_task_type_tree_inherit_default_user project.task.type.tree.inherit.default.user project.task.type tree Inherits project.task_type_tree
HTTP endpoints (0)

No HTTP endpoints found for this module.

Models touched (3)

New fields (2)
  • default_user_ids Many2many → res.users
    domain=<expr> help='If set, tasks will automatically be assigned to these users. On new tasks, this applies if no users are set. On stage change, the users are replaced only if the new stage has default users.' string='Default Users for Tasks' args: 'res.users'
  • project_task_assignment_mode Selection
    default='replace' help='Defines how default users are applied:\n- Replace: overwrite existing users\n- Merge: add default users to existing ones\n\nApplied on task creation and stage changes.' args: [('replace', 'Replace'), ('merge', 'Merge')]
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (2)
  • create(self, vals_list)
    @api.model_create_multi
  • write(self, vals)

New fields (2)
  • default_user_ids Many2many → res.users
    domain=<expr> help='If set, tasks will automatically be assigned to these users. On new tasks, this applies if no users are set. On stage change, the users are replaced only if the new stage has default users.' string='Default Users for this Stage' args: 'res.users'
  • stage_task_assignment_mode Selection
    default='replace' help='Defines how default users are applied:\n- Replace: overwrite existing users\n- Merge: add default users to existing ones\n\nApplied on task creation and stage changes.' args: [('replace', 'Replace'), ('merge', 'Merge')]
Public methods (0)

No public methods.

Loading…