Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
c36b0f3
[ADD] project_hr: Link HR with project
pedrobaeza Nov 17, 2018
12dd6d9
Added translation using Weblate (German)
marylla Jul 12, 2019
9aad7de
Added translation using Weblate (Slovenian)
sysadminmatmoz Jul 23, 2019
f53d9e1
[MIG] project_hr: Migration to v12
Aug 20, 2019
edfb2fc
Fix syntax error in project_hr es.po
sbidoul Aug 29, 2019
9075501
[FIX] project_hr: domain on field breaks other modules
alexey-pelykh Sep 1, 2019
83d4cac
Translated using Weblate (German)
marylla Oct 11, 2019
c661a79
Translated using Weblate (Slovenian)
sysadminmatmoz Oct 24, 2019
c8c80c6
Added translation using Weblate (Croatian)
badbole Dec 2, 2019
d9307dc
[IMP] project_hr: black, isort
Feb 26, 2020
5544a2e
[MIG] project_hr: Migration to 13.0
Feb 26, 2020
aa3a44f
[ADD] increase test coverage
Apr 10, 2020
fc2107b
[UPD] Brainbean Apps => CorporateHub
alexey-pelykh Nov 8, 2020
8e1dae9
[FIX] project_hr: forbid employee tag creation on project task form
skeller1 Nov 9, 2020
9176408
Added translation using Weblate (Catalan)
pere-aquarian Nov 18, 2021
2798c42
Translated using Weblate (Spanish)
pere-aquarian Nov 18, 2021
04d8eb1
Translated using Weblate (Catalan)
pere-aquarian Nov 18, 2021
1d4b1d3
[MIG] project_hr: Migration to 14.0
Mar 16, 2022
658d83f
[IMP] project_hr: Compute method name according guidelines
pedrobaeza Mar 22, 2022
fbec2f7
Added translation using Weblate (Italian)
primes2h Oct 19, 2022
a6c8844
[MIG] project_hr: Migration to 15.0
chandni299 Feb 1, 2023
fe9ad84
[MIG] project_hr: Migration to version 16.0
pilarvargas-tecnativa May 22, 2023
ce040fc
Translated using Weblate (Italian)
mymage May 29, 2023
58e21aa
Translated using Weblate (German)
NICO-SOLUTIONS Jun 20, 2023
8cab075
Translated using Weblate (Spanish)
Ivorra78 Aug 23, 2023
d65e44e
Added translation using Weblate (Dutch)
Jan-Onestein Oct 3, 2023
a3d5c45
Added translation using Weblate (Portuguese (Brazil))
adrianojprado Oct 28, 2023
279b98d
[IMP] project_hr: pre-commit auto fixes
Abranes Jun 3, 2025
bc8eef7
[17.0][MIG] project_hr: Migration to 17.0
Abranes Jun 3, 2025
5e10f74
[UPD] Update project_hr.pot
Jun 13, 2025
306c016
[17.0][IMP] project_hr: restore odoo default user_ids domain
Abranes Jun 16, 2025
26b492b
[MIG] project_hr: Migration to 18.0
victoralmau Sep 2, 2025
87b7425
[UPD] Update project_hr.pot
Sep 9, 2025
ecd2988
[BOT] post-merge updates
OCA-git-bot Sep 9, 2025
bebd78d
[FIX] project_hr: Use the appropriate user employee
victoralmau Feb 25, 2026
876fe87
[BOT] post-merge updates
OCA-git-bot Feb 26, 2026
c0dc9cb
[19.0][MIG] project_hr: Migration to 19.0
Mar 24, 2026
c0e7625
Merge PR #1698 into 19.0
OCA-git-bot Apr 27, 2026
e1844e2
[UPD] Update project_hr.pot
Apr 27, 2026
d1e6600
[BOT] post-merge updates
OCA-git-bot Apr 27, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ Available addons
addon | version | maintainers | summary
--- | --- | --- | ---
[project_department](project_department/) | 19.0.1.0.0 | | Project Department Categorization
[project_hr](project_hr/) | 19.0.1.0.0 | <a href='https://github.com/pedrobaeza'><img src='https://github.com/pedrobaeza.png' width='32' height='32' style='border-radius:50%;' alt='pedrobaeza'/></a> | Link HR with project
[project_key](project_key/) | 19.0.1.0.0 | | Module decorates projects and tasks with Project Key
[project_parent_task_filter](project_parent_task_filter/) | 19.0.1.0.0 | | Add a filter to show the parent tasks
[project_sequence](project_sequence/) | 19.0.1.0.0 | <a href='https://github.com/yajo'><img src='https://github.com/yajo.png' width='32' height='32' style='border-radius:50%;' alt='yajo'/></a> <a href='https://github.com/anddago78'><img src='https://github.com/anddago78.png' width='32' height='32' style='border-radius:50%;' alt='anddago78'/></a> | Add a sequence field to projects, filled automatically
Expand Down
152 changes: 152 additions & 0 deletions project_hr/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,152 @@
.. image:: https://odoo-community.org/readme-banner-image
:target: https://odoo-community.org/get-involved?utm_source=readme
:alt: Odoo Community Association

==========
Project HR
==========

..
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:233d138c5d92df5e49943c7dac0a09769f6e61a2bf8fd7bdbac542fbf136697e
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

.. |badge1| image:: https://img.shields.io/badge/maturity-Production%2FStable-green.png
:target: https://odoo-community.org/page/development-status
:alt: Production/Stable
.. |badge2| image:: https://img.shields.io/badge/license-AGPL--3-blue.png
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fproject-lightgray.png?logo=github
:target: https://github.com/OCA/project/tree/19.0/project_hr
:alt: OCA/project
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/project-19-0/project-19-0-project_hr
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
:target: https://runboat.odoo-community.org/builds?repo=OCA/project&target_branch=19.0
:alt: Try me on Runboat

|badge1| |badge2| |badge3| |badge4| |badge5|

This is a technical module for adding some HR information to projects
and provide technical fields with HR information:

- Employee categories at project and task level.
- Employee linked to the user assigned to a task.
- Employee categories at user level.

These fields can be used later for extra features like task scheduling
or security restrictions.

It also provides some facilities on project management:

- Limit selection of assigned users according selected employee category
at task level.
- Limit selection of employee categories at task level depending on the
selected categories at project level. All are shown if no categories
at project level.

**Table of contents**

.. contents::
:local:

Configuration
=============

For setting employee categories at project level:

1. Go to *Project > Projects*.
2. Click on the 3 vertical dots of one of the project kanban cards for
unfolding options and select "Settings".
3. Put the wanted employee categories on the field "Employee
Categories".

For setting employee categories:

1. Go to *Project > All Tasks*.
2. Select or create a new task.
3. Put the wanted employee categories on the field "Employee
categories".
4. If there's already some employee categories selected at project
level, those will be the only selectable ones in the task.

Usage
=====

1. Go to *Project > Search > Tasks*.
2. If there's an employee category selected in the task, you will only
be able to select those users whose employee belongs to that
category.

Known issues / Roadmap
======================

- Limit project and task visibility according employee categories
through overriding security methods (as through record rules is not
possible without modifying existing ones).

Bug Tracker
===========

Bugs are tracked on `GitHub Issues <https://github.com/OCA/project/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us to smash it by providing a detailed and welcomed
`feedback <https://github.com/OCA/project/issues/new?body=module:%20project_hr%0Aversion:%2019.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.

Do not contact contributors directly about support or help with technical issues.

Credits
=======

Authors
-------

* Tecnativa

Contributors
------------

- `Tecnativa <https://www.tecnativa.com>`__:

- Pedro M. Baeza
- Victor M.M. Torres
- Ernesto Tejeda
- Pilar Vargas

- `CorporateHub <https://corporatehub.eu/>`__

- Alexey Pelykh <alexey.pelykh@corphub.eu>

- Alfadil Tabar <alfadil.tabar@gmail.com>
- Abraham Anes <abrahamanes@gmail.com>
- Xavier Bol <xavierbol@ik.me>

Maintainers
-----------

This module is maintained by the OCA.

.. image:: https://odoo-community.org/logo.png
:alt: Odoo Community Association
:target: https://odoo-community.org

OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.

.. |maintainer-pedrobaeza| image:: https://github.com/pedrobaeza.png?size=40px
:target: https://github.com/pedrobaeza
:alt: pedrobaeza

Current `maintainer <https://odoo-community.org/page/maintainer-role>`__:

|maintainer-pedrobaeza|

This module is part of the `OCA/project <https://github.com/OCA/project/tree/19.0/project_hr>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
3 changes: 3 additions & 0 deletions project_hr/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).

from . import models
15 changes: 15 additions & 0 deletions project_hr/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Copyright 2018 Tecnativa - Pedro M. Baeza
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).

{
"name": "Project HR",
"summary": "Link HR with project",
"development_status": "Production/Stable",
"version": "19.0.1.0.0",
"license": "AGPL-3",
"author": "Tecnativa, Odoo Community Association (OCA)",
"website": "https://github.com/OCA/project",
"depends": ["project", "hr"],
"data": ["views/project_task_views.xml", "views/project_project_views.xml"],
"maintainers": ["pedrobaeza"],
}
127 changes: 127 additions & 0 deletions project_hr/i18n/ca.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,127 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * project_hr
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 13.0\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2021-11-18 17:36+0000\n"
"Last-Translator: pere-aquarian <pere@aquarian.tech>\n"
"Language-Team: none\n"
"Language: ca\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.3.2\n"

#. module: project_hr
#: model:ir.model.fields,field_description:project_hr.field_project_task__allowed_hr_category_ids
msgid "Allowed HR categories"
msgstr "Categories de RRHH permeses"

#. module: project_hr
#: model:ir.model.fields,field_description:project_hr.field_project_task__allowed_assigned_user_ids
msgid "Allowed users"
msgstr "Usuaris/àries permesos/es"

#. module: project_hr
#: model:ir.model,name:project_hr.model_hr_employee
msgid "Employee"
msgstr "Empleat/da"

#. module: project_hr
#: model:ir.model.fields,field_description:project_hr.field_project_project__hr_category_ids
#: model:ir.model.fields,field_description:project_hr.field_project_task__hr_category_ids
msgid "Employee Categories"
msgstr "Categories d'empleat/da"

#. module: project_hr
#: model:ir.model.fields,field_description:project_hr.field_res_users__hr_category_ids
msgid "HR categories"
msgstr "Categories de RRHH"

#. module: project_hr
#: model:ir.model.fields,help:project_hr.field_project_project__hr_category_ids
msgid ""
"Here you can link the project to several employee categories, that will be "
"the allowed in tasks."
msgstr ""
"Aquí pot enllaçar el projecte a vàries categories de l'empleat/da, que seran "
"les permeses a les tasques."

#. module: project_hr
#: model:ir.model.fields,help:project_hr.field_project_task__hr_category_ids
msgid ""
"Here you can select the employee category suitable to perform this task, "
"limiting the selectable users to be assigned to those that belongs to that "
"category."
msgstr ""
"Aquí pot seleccionar la categoria de l'empleat/da adequada per a realitzar "
"aquesta tasca, limitant els/les usuaris/àries seleccionables per a ser "
"assignats/ades a aquells que pertanyen a la categoria."

#. module: project_hr
#: model:ir.model.fields,field_description:project_hr.field_project_task__employee_ids
msgid "Linked employees"
msgstr ""

#. module: project_hr
#: model:ir.model,name:project_hr.model_project_project
msgid "Project"
msgstr "Projecte"

#. module: project_hr
#: model:ir.model,name:project_hr.model_project_task
msgid "Task"
msgstr "Tasca"

#. module: project_hr
#: model:ir.model.fields,help:project_hr.field_project_task__allowed_hr_category_ids
msgid ""
"Technical field for computing allowed employee categories according "
"categories at project level."
msgstr ""
"Camp tècnic per a calcular les categories de l'empleat/da permeses conforme "
"a les categories establertes a nivell de projecte."

#. module: project_hr
#: model:ir.model.fields,help:project_hr.field_project_task__allowed_assigned_user_ids
msgid ""
"Technical field for computing allowed users according employee category."
msgstr ""
"Camp tècnic per a calcular els/les usuaris/àries permesos/es conforme a les "
"categories establertes a nivell d'empleat/ada."

#. module: project_hr
#: model:ir.model.fields,help:project_hr.field_res_users__hr_category_ids
msgid ""
"Technical field for computing dynamically employee categories linked to the "
"user in the current company."
msgstr ""
"Camp tècnic per a calcular dinàmicament les categories de l'empleat/da "
"relacionat/da a l'usuari de la companyia actual."

#. module: project_hr
#: model:ir.model,name:project_hr.model_res_users
msgid "User"
msgstr ""

#. module: project_hr
#. odoo-python
#: code:addons/project_hr/models/project_task.py:0
#, python-format
msgid "You can't assign a category that is not allowed at project level."
msgstr ""
"No pot assignar una categoria que no està permesa a nivell de projecte."

#. module: project_hr
#. odoo-python
#: code:addons/project_hr/models/project_task.py:0
#, python-format
msgid ""
"You can't assign a user not belonging to the selected employee category."
msgstr ""
"No pot assignar un/a usuari/ària que no pertany a la categoria d'empleat/ada "
"seleccionada."
Loading
Loading