Hr Contract Employee Calendar Planning

hr_contract_employee_calendar_planning
REPOSITORY
REPOSITORYOCA/hr
GIT
GIThttps://github.com/OCA/hr.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/hr/tree/18.0/hr_contract_employee_calendar_planning
VERSION
VERSION 1.0.1
CATEGORY
CATEGORYHuman Resources
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLEYes
AUTHORS
AUTHORSOdoo Community Association (OCA), cibex
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), cibex
COMMITTERS
COMMITTERSVíctor Martínez, Weblate, OCA-git-bot, oca-ci, AlexGarS73
WEBSITE
WEBSITEhttps://github.com/OCA/hr
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:30:08
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/hr:
    - hr_employee_calendar_planning
odoo/odoo:
    - hr_contract
    - hr
    - base_setup
    - base
    - web
    - digest
    - mail
    - bus
    - web_tour
    - html_editor
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - resource
    - phone_validation
    - resource_mail
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
This module ensures a consistent working times history when using the
**hr_contract** and **hr_employee_calendar_planning** modules together.

There are 3 different data models which can relate to working time
(resource.calendar) records:

- Employees (hr.employee)
- Contracts (hr.contract)
- Resources (resource.resource) -\> related to hr.employee through
  resource.mixin

The **hr_employee_calendar_planning** module adds the calendar_ids field
to employees, which allows a more flexible working times configuration:
Instead of selecting a single resource.calendar, multiple calendars can
be combined into one auto-generated calendar.

However, contracts are not considered when creating auto-generated
calendars. This can lead to unexpected behaviour, because the active
contract calendar and the employee calendar can diverge (calendar
mismatch). Additionally, when configuring a new contract, or changing
the existing contract calendar, the employee calendar will be
overwritten by the contract calendar.

To resolve this issue, this module migrates current and previous
contract calendars into the calendar_ids and thus the auto-generated
calendar. Additionally, changes to the employee calendar by contracts
are prevented. The resource_calendar_id field is hidden in contract
views, since all working times should be managed in the calendar_ids
field for each employee. However, it is still possible to keep a
meaningful contract history, e.g. for salary information.

Code Analysis

Views touched (2)
XML IDNameModelTypeStatus
hr_contract_employee_calendar_history_form hr.contract.employee.calendar.planning.history.form hr.contract.history field Inherits hr_contract.hr_contract_history_view_form
hr_contract_employee_calendar_planning_form hr.contract.employee.calendar.planning.form hr.contract label Inherits hr_contract.hr_contract_view_form
Models touched (1)

New fields (0)

No new fields.

Public methods (2)
  • create(self, vals_list)
    @api.model_create_multi
  • write(self, vals)
REPOSITORY
REPOSITORYOCA/hr
GIT
GIThttps://github.com/OCA/hr.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/hr/tree/16.0/hr_contract_employee_calendar_planning
VERSION
VERSION 1.0.2
CATEGORY
CATEGORYHuman Resources
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLEYes
AUTHORS
AUTHORSOdoo Community Association (OCA), cibex
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), cibex
COMMITTERS
COMMITTERSWeblate, OCA-git-bot, oca-ci, Kevin Luna, jb, Christoph Abenthung
WEBSITE
WEBSITEhttps://github.com/OCA/hr
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:53:49
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/hr:
    - hr_employee_calendar_planning
odoo/odoo:
    - hr_contract
    - hr
    - base_setup
    - base
    - web
    - mail
    - bus
    - web_tour
    - resource
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (2)
XML IDNameModelTypeStatus
hr_contract_employee_calendar_history_form hr.contract.employee.calendar.planning.history.form hr.contract.history xpath Inherits hr_contract.hr_contract_history_view_form
hr_contract_employee_calendar_planning_form hr.contract.employee.calendar.planning.form hr.contract xpath Inherits hr_contract.hr_contract_view_form
Models touched (1)

New fields (0)

No new fields.

Public methods (2)
  • create(self, vals_list)
    @api.model_create_multi
  • write(self, vals)
REPOSITORY
REPOSITORYOCA/hr
GIT
GIThttps://github.com/OCA/hr.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/hr/tree/15.0/hr_contract_employee_calendar_planning
VERSION
VERSION 1.0.1
CATEGORY
CATEGORYHuman Resources
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLEYes
AUTHORS
AUTHORSOdoo Community Association (OCA), cibex
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), cibex
COMMITTERS
COMMITTERSWeblate, OCA-git-bot, oca-ci, jb, josep-tecnativa
WEBSITE
WEBSITEhttps://github.com/OCA/hr
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:46:35
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/hr:
    - hr_employee_calendar_planning
odoo/odoo:
    - hr_contract
    - hr
    - base_setup
    - base
    - web
    - mail
    - bus
    - web_tour
    - resource
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (1)
XML IDNameModelTypeStatus
hr_contract_employee_calendar_planning_form hr.contract.employee.calendar.planning.form hr.contract xpath Inherits hr_contract.hr_contract_view_form
Models touched (1)

New fields (0)

No new fields.

Public methods (1)
  • write(self, vals)
REPOSITORY
REPOSITORYOCA/hr
GIT
GIThttps://github.com/OCA/hr.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/hr/tree/14.0/hr_contract_employee_calendar_planning
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYHuman Resources
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLEYes
AUTHORS
AUTHORSOdoo Community Association (OCA), cibex
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), cibex
COMMITTERS
COMMITTERSWeblate, OCA-git-bot, oca-ci, jb
WEBSITE
WEBSITEhttps://github.com/OCA/hr
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:41:02
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/hr:
    - hr_employee_calendar_planning
odoo/odoo:
    - hr_contract
    - hr
    - base_setup
    - base
    - web
    - mail
    - bus
    - web_tour
    - resource
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (1)
XML IDNameModelTypeStatus
hr_contract_employee_calendar_planning_form hr.contract.employee.calendar.planning.form hr.contract xpath Inherits hr_contract.hr_contract_view_form
Models touched (1)

New fields (0)

No new fields.

Public methods (1)
  • write(self, vals)
STATUS
STATUSOpen migration PR - not merged yet for this version
REPOSITORY
REPOSITORYOCA/hr
PULL REQUEST
PULL REQUEST[19.0][MIG] hr_contract_employee_calendar_planning (#1548)