Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
39d2900
[DEV] New module HR Employee external Partner
mymage May 31, 2020
5e0dc76
[ADD] new field to set an employee as external
mymage Jun 6, 2020
d11f8f3
[IMP] hr_employee_partner_external: black, isort, prettier
etobella Nov 17, 2021
4a2e801
[MIG] hr_employee_partner_external: Migration 13.0
etobella Nov 17, 2021
30bdf92
Added translation using Weblate (Spanish)
etobella Jan 28, 2022
73251d2
Translated using Weblate (Spanish)
olgamarcocb Feb 3, 2022
f908554
[IMP] hr_employee_partner_external: black, isort, prettier
albariera May 13, 2022
9a6037d
[MIG] hr_employee_partner_external: Migration to 14.0
albariera May 13, 2022
dbc0429
[MIG] hr_employee_partner_external: Migration to 15.0
olgamarcocb May 13, 2022
6213ee3
[MIG] hr_employee_partner_external: Migration to 16.0
mymage Nov 6, 2022
3d7a3bc
[IMP] hr_employee_partner_external: pre-commit auto fixes
BernatObrador Jul 17, 2024
a096511
[MIG] hr_employee_partner_external: Migration to 17.0
BernatObrador Jul 17, 2024
3785f2b
[MIG] hr_employee_partner_external: Migration to 18.0
BhaveshHeliconia Dec 12, 2024
59639c5
[UPD] Update hr_employee_partner_external.pot
Nov 14, 2025
84494a1
[BOT] post-merge updates
OCA-git-bot Nov 14, 2025
0edcc09
[MIG] hr_employee_partner_external: Migration to 19.0
BhaveshHeliconia Dec 22, 2025
dace362
Merge PR #1535 into 19.0
OCA-git-bot May 18, 2026
b6ca04c
[UPD] Update hr_employee_partner_external.pot
May 18, 2026
155d97e
[BOT] post-merge updates
OCA-git-bot May 18, 2026
408c0c6
[FIX] hr_employee_calendar_planning: fix test
MiquelRForgeFlow May 17, 2026
0e57cb4
Merge PR #1573 into 19.0
OCA-git-bot May 18, 2026
9e10d5a
[BOT] post-merge updates
OCA-git-bot May 18, 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
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,11 @@ addon | version | maintainers | summary
--- | --- | --- | ---
[hr_course](hr_course/) | 19.0.1.0.0 | | This module allows your to manage employee's training courses
[hr_department_code](hr_department_code/) | 19.0.1.0.0 | | HR department code
[hr_employee_calendar_planning](hr_employee_calendar_planning/) | 19.0.1.0.0 | <a href='https://github.com/victoralmau'><img src='https://github.com/victoralmau.png' width='32' height='32' style='border-radius:50%;' alt='victoralmau'/></a> <a href='https://github.com/pedrobaeza'><img src='https://github.com/pedrobaeza.png' width='32' height='32' style='border-radius:50%;' alt='pedrobaeza'/></a> | Employee Calendar Planning
[hr_employee_calendar_planning](hr_employee_calendar_planning/) | 19.0.1.0.1 | <a href='https://github.com/victoralmau'><img src='https://github.com/victoralmau.png' width='32' height='32' style='border-radius:50%;' alt='victoralmau'/></a> <a href='https://github.com/pedrobaeza'><img src='https://github.com/pedrobaeza.png' width='32' height='32' style='border-radius:50%;' alt='pedrobaeza'/></a> | Employee Calendar Planning
[hr_employee_firstname](hr_employee_firstname/) | 19.0.1.1.0 | <a href='https://github.com/Savoir-faire Linux'><img src='https://github.com/Savoir-faire Linux.png' width='32' height='32' style='border-radius:50%;' alt='Savoir-faire Linux'/></a> <a href='https://github.com/luisg123v'><img src='https://github.com/luisg123v.png' width='32' height='32' style='border-radius:50%;' alt='luisg123v'/></a> | Adds First Name to Employee
[hr_employee_language](hr_employee_language/) | 19.0.1.0.0 | | HR Employee Language
[hr_employee_medical_examination](hr_employee_medical_examination/) | 19.0.1.0.0 | | Adds information about employee's medical examinations
[hr_employee_partner_external](hr_employee_partner_external/) | 19.0.1.0.0 | | Associate an external Partner to Employee
[hr_employee_relative](hr_employee_relative/) | 19.0.1.0.0 | | Allows storing information about employee's family
[hr_employee_second_lastname](hr_employee_second_lastname/) | 19.0.1.0.1 | <a href='https://github.com/luisg123v'><img src='https://github.com/luisg123v.png' width='32' height='32' style='border-radius:50%;' alt='luisg123v'/></a> | Split Name in First Name, Father's Last Name and Mother's Last Name

Expand Down
2 changes: 1 addition & 1 deletion hr_employee_calendar_planning/README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ Employee Calendar Planning
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:1082d12d1e47b5a43dd31900305008b9b8e51ff08b26f65cfaafd0a36ab843d6
!! source digest: sha256:fdc5a73ca61067d21c2ac3a260dc61c14ffb5536bf8316631944d25b13c567b1
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
Expand Down
2 changes: 1 addition & 1 deletion hr_employee_calendar_planning/__manifest__.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
{
"name": "Employee Calendar Planning",
"version": "19.0.1.0.0",
"version": "19.0.1.0.1",
"category": "Human Resources",
"website": "https://github.com/OCA/hr",
"author": "Tecnativa,Odoo Community Association (OCA)",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -372,7 +372,7 @@ <h1>Employee Calendar Planning</h1>
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:1082d12d1e47b5a43dd31900305008b9b8e51ff08b26f65cfaafd0a36ab843d6
!! source digest: sha256:fdc5a73ca61067d21c2ac3a260dc61c14ffb5536bf8316631944d25b13c567b1
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
<p><a class="reference external image-reference" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external image-reference" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/license-AGPL--3-blue.png" /></a> <a class="reference external image-reference" href="https://github.com/OCA/hr/tree/19.0/hr_employee_calendar_planning"><img alt="OCA/hr" src="https://img.shields.io/badge/github-OCA%2Fhr-lightgray.png?logo=github" /></a> <a class="reference external image-reference" href="https://translation.odoo-community.org/projects/hr-19-0/hr-19-0-hr_employee_calendar_planning"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external image-reference" href="https://runboat.odoo-community.org/builds?repo=OCA/hr&amp;target_branch=19.0"><img alt="Try me on Runboat" src="https://img.shields.io/badge/runboat-Try%20me-875A7B.png" /></a></p>
<p>This module allows to manage employee working time with profiles by date
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
import unittest

from dateutil.relativedelta import relativedelta
from freezegun import freeze_time
from psycopg2 import IntegrityError

from odoo import exceptions, fields
Expand Down Expand Up @@ -513,6 +514,7 @@ def test_write_planning_dates(self):
planning_line.write({"calendar_id": self.calendar1.id})
self.assertEqual(len(self.employee.resource_calendar_id.attendance_ids), 10)

@freeze_time("2026-05-18")
def test_get_work_days_data_batch_with_planning(self):
today_dt = fields.Datetime.now()
start_dt = today_dt.replace(hour=0, minute=0, second=0)
Expand Down
108 changes: 108 additions & 0 deletions hr_employee_partner_external/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,108 @@
.. image:: https://odoo-community.org/readme-banner-image
:target: https://odoo-community.org/get-involved?utm_source=readme
:alt: Odoo Community Association

=========================
Employee external Partner
=========================

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

.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
:target: https://odoo-community.org/page/development-status
:alt: Beta
.. |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%2Fhr-lightgray.png?logo=github
:target: https://github.com/OCA/hr/tree/19.0/hr_employee_partner_external
:alt: OCA/hr
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/hr-19-0/hr-19-0-hr_employee_partner_external
: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/hr&target_branch=19.0
:alt: Try me on Runboat

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

Add the following fields to employee

- is_external
- hr_external_partner_id

**Table of contents**

.. contents::
:local:

Usage
=====

Associates a Partner to an Employee to indicate that this Employee is
administrated by the Partner but works in the Company.

This Employee can be a real person or a "virtual" one: on second case is
the Partner that defines the "real" person who works when requested.

On Employees select an Employee and check option that he is an external,
then associate the Partner.

Changelog
=========

12.0.1.0.0 (2020-06-01)
-----------------------

- [INI] Initial development

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

Bugs are tracked on `GitHub Issues <https://github.com/OCA/hr/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/hr/issues/new?body=module:%20hr_employee_partner_external%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
-------

* Stefano Consolaro Associazione PNLUG - Gruppo Odoo

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

- Stefano Consolaro <stefano.consolaro@mymage.it>
- `APSL-Nagarro <https://apsl.tech>`__:

- Bernat Obrador <bobrador@apsl.net>

- ``Heliconia Solutions Pvt. Ltd. <https://www.heliconia.io>``\ \_

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.

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

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
1 change: 1 addition & 0 deletions hr_employee_partner_external/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
from . import models
15 changes: 15 additions & 0 deletions hr_employee_partner_external/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Copyright 2020 Stefano Consolaro (Ass. PNLUG - Gruppo Odoo <http://odoo.pnlug.it>)
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).

{
"name": "Employee external Partner",
"summary": "Associate an external Partner to Employee",
"version": "19.0.1.0.0",
"category": "Human Resources",
"author": "Stefano Consolaro Associazione PNLUG - Gruppo Odoo, "
"Odoo Community Association (OCA)",
"website": "https://github.com/OCA/hr",
"license": "AGPL-3",
"depends": ["hr"],
"data": ["views/hr_employee.xml"],
}
37 changes: 37 additions & 0 deletions hr_employee_partner_external/i18n/es.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * hr_employee_partner_external
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 13.0\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2022-02-03 14:33+0000\n"
"Last-Translator: Olga Marco Puértolas <olga.marco@creublanca.es>\n"
"Language-Team: none\n"
"Language: es\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: hr_employee_partner_external
#: model:ir.model,name:hr_employee_partner_external.model_hr_employee
msgid "Employee"
msgstr "Empleado"

#. module: hr_employee_partner_external
#: model:ir.model.fields,field_description:hr_employee_partner_external.field_hr_employee__hr_external_partner_id
msgid "External Partner"
msgstr "Socio externo"

#. module: hr_employee_partner_external
#: model:ir.model.fields,field_description:hr_employee_partner_external.field_hr_employee__is_external
msgid "Is an external Employee"
msgstr "Es un empleado externo"

#. module: hr_employee_partner_external
#: model:ir.model.fields,help:hr_employee_partner_external.field_hr_employee__hr_external_partner_id
msgid "Partner that administrate Employee that works in the Company"
msgstr "Socio que administra Empleado que trabaja en la Empresa"
44 changes: 44 additions & 0 deletions hr_employee_partner_external/i18n/hr_employee_partner_external.pot
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * hr_employee_partner_external
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 19.0\n"
"Report-Msgid-Bugs-To: \n"
"Last-Translator: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"

#. module: hr_employee_partner_external
#: model:ir.model.fields,field_description:hr_employee_partner_external.field_hr_employee__display_name
msgid "Display Name"
msgstr ""

#. module: hr_employee_partner_external
#: model:ir.model,name:hr_employee_partner_external.model_hr_employee
msgid "Employee"
msgstr ""

#. module: hr_employee_partner_external
#: model:ir.model.fields,field_description:hr_employee_partner_external.field_hr_employee__hr_external_partner_id
msgid "External Partner"
msgstr ""

#. module: hr_employee_partner_external
#: model:ir.model.fields,field_description:hr_employee_partner_external.field_hr_employee__id
msgid "ID"
msgstr ""

#. module: hr_employee_partner_external
#: model:ir.model.fields,field_description:hr_employee_partner_external.field_hr_employee__is_external
msgid "Is an external Employee"
msgstr ""

#. module: hr_employee_partner_external
#: model:ir.model.fields,help:hr_employee_partner_external.field_hr_employee__hr_external_partner_id
msgid "Partner that administrate Employee that works in the Company"
msgstr ""
38 changes: 38 additions & 0 deletions hr_employee_partner_external/i18n/it.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * hr_employee_partner_external
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 12.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-06-06 18:47+0000\n"
"PO-Revision-Date: 2020-06-06 20:50+0200\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: it\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 2.3.1\n"

#. module: hr_employee_partner_external
#: model:ir.model,name:hr_employee_partner_external.model_hr_employee
msgid "Employee"
msgstr "Dipendente"

#. module: hr_employee_partner_external
#: model:ir.model.fields,field_description:hr_employee_partner_external.field_hr_employee__hr_external_partner_id
msgid "External Partner"
msgstr "Partner esterno"

#. module: hr_employee_partner_external
#: model:ir.model.fields,field_description:hr_employee_partner_external.field_hr_employee__is_external
msgid "Is an external Employee"
msgstr "È un dipendente esterno"

#. module: hr_employee_partner_external
#: model:ir.model.fields,help:hr_employee_partner_external.field_hr_employee__hr_external_partner_id
msgid "Partner that administrate Employee that works in the Company"
msgstr "Partner che amministra il dipendente che lavora in aizenda"
1 change: 1 addition & 0 deletions hr_employee_partner_external/models/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
from . import hr_employee
26 changes: 26 additions & 0 deletions hr_employee_partner_external/models/hr_employee.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# Copyright 2020 Stefano Consolaro (Ass. PNLUG - Gruppo Odoo <http://odoo.pnlug.it>)
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).

from odoo import fields, models


class EmployeePartner(models.Model):
"""
Add administrative Partner reference to Employee
"""

_inherit = "hr.employee"

# set employee as external
is_external = fields.Boolean(
"Is an external Employee",
default=False,
groups="hr.group_hr_user",
)
# Partner reference
hr_external_partner_id = fields.Many2one(
"res.partner",
"External Partner",
groups="hr.group_hr_user",
help="Partner that administrate Employee that works in the Company",
)
3 changes: 3 additions & 0 deletions hr_employee_partner_external/pyproject.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[build-system]
requires = ["whool"]
build-backend = "whool.buildapi"
4 changes: 4 additions & 0 deletions hr_employee_partner_external/readme/CONTRIBUTORS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
- Stefano Consolaro \<<stefano.consolaro@mymage.it>\>
- [APSL-Nagarro](<https://apsl.tech>):
- Bernat Obrador \<<bobrador@apsl.net>\>
- `Heliconia Solutions Pvt. Ltd. <https://www.heliconia.io>`_
4 changes: 4 additions & 0 deletions hr_employee_partner_external/readme/DESCRIPTION.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
Add the following fields to employee

- is_external
- hr_external_partner_id
3 changes: 3 additions & 0 deletions hr_employee_partner_external/readme/HISTORY.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
## 12.0.1.0.0 (2020-06-01)

- \[INI\] Initial development
8 changes: 8 additions & 0 deletions hr_employee_partner_external/readme/USAGE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
Associates a Partner to an Employee to indicate that this Employee is
administrated by the Partner but works in the Company.

This Employee can be a real person or a "virtual" one: on second case is
the Partner that defines the "real" person who works when requested.

On Employees select an Employee and check option that he is an external,
then associate the Partner.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Loading