Project Task Default User

project_task_default_user
REPOSITORY
REPOSITORYOCA/project
GIT
GIThttps://github.com/OCA/project.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/project/tree/19.0/project_task_default_user
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYProject
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), NICO SOLUTIONS - ENGINEERING & IT
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), NICO SOLUTIONS - ENGINEERING & IT
COMMITTERS
COMMITTERSWeblate, OCA-git-bot, oca-ci, Nils Coenen
WEBSITE
WEBSITEhttps://github.com/OCA/project
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:40:49
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - project
    - analytic
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - html_editor
    - uom
    - portal
    - http_routing
    - auth_signup
    - rating
    - resource
    - digest
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
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 xpath Inherits project.edit_project
project_task_type_edit_inherit_default_user project.task.type.edit.inherit.default.user project.task.type xpath Inherits project.task_type_edit
project_task_type_tree_inherit_default_user project.task.type.tree.inherit.default.user project.task.type xpath Inherits project.task_type_tree
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.

REPOSITORY
REPOSITORYOCA/project
GIT
GIThttps://github.com/OCA/project.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/project/tree/18.0/project_task_default_user
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYProject
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), NICO SOLUTIONS - ENGINEERING & IT
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), NICO SOLUTIONS - ENGINEERING & IT
COMMITTERS
COMMITTERSWeblate, OCA-git-bot, oca-ci, Nils Coenen
WEBSITE
WEBSITEhttps://github.com/OCA/project
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:30:14
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - project
    - analytic
    - base
    - mail
    - 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 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 xpath Inherits project.edit_project
project_task_type_edit_inherit_default_user project.task.type.edit.inherit.default.user project.task.type xpath Inherits project.task_type_edit
project_task_type_tree_inherit_default_user project.task.type.tree.inherit.default.user project.task.type xpath Inherits project.task_type_tree
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.