.. image:: https://odoo-community.org/readme-banner-image
   :target: https://odoo-community.org/get-involved?utm_source=readme
   :alt: Odoo Community Association

==================
HR Holidays Public
==================

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

.. |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--holidays-lightgray.png?logo=github
    :target: https://github.com/OCA/hr-holidays/tree/16.0/hr_holidays_public
    :alt: OCA/hr-holidays
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
    :target: https://translation.odoo-community.org/projects/hr-holidays-16-0/hr-holidays-16-0-hr_holidays_public
    :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-holidays&target_branch=16.0
    :alt: Try me on Runboat

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

This module handles public holidays.

The calculation of each leave can exclude rest public holiday, depending on
the leave type configuration.

In HR holiday app, public holiday will be displayed as unusual days (grey like weekends).

**Table of contents**

.. contents::
   :local:

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

Go to *Time Off -> Configuration -> Time Off Types* and open a Leave Type

* Check "Exclude Public Holidays" to exclude public holidays.

Usage
=====

For adding public holidays:

#. Go to the menu *Leaves > Public Holidays > Public Holidays*.
#. Create your public holidays.

For using public holidays on leaves:

#. Go to *Time Off > Dashboard*.
#. Select dragging on the calendar the days you want to be on leave, or go
   to the form view for selecting start and end dates.
#. Select the proper "Leave Type" that has "Exclude Public Holidays" checked.
#. If no leave type is yet specified, then default configuration is to exclude
   public holidays.
#. The number of days will be computed excluding public holidays that match the
   selected employee, including global, country and state holidays.
#. If no employee is yet selected, only global holidays will be taken into
   account.

In calendar views in HR holiday app public will be display
(likes other unusual days) according the current user employee country/state. If not set
the there is a fallback to the current company country/state to filter public holidays.

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

In Odoo 12.0, `_leave_intervals()` returns `Intervals` which is a list of
tuples (start_timestamp, end_timestamp, `resource.calendar.leaves` record).
Since this module does not operate with `resource.calendar.leaves`, it's
setting third component of a tuple to a `hr.holidays.public.line` record.
This may or may not be a problem, yet since this component is also being set to
`resource.calendar.attendance` records in `_attendance_intervals()`, seems it
should be ok.

There are no restrictions to block users from modifying or removing calendar
events linked to public holidays. There's a suggestion to overload `write` and
`unlink` methods of `calendar.event`, but it might have other impacts like
users not being able to edit event tags, or even custom fields.

Regional public holidays are shown in the public calendar. The regions will be
noted in the description of the event, but it'll be shown to all users. It'd
be good to have it show only for users in these regions.

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

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

* Michael Telahun Makonnen
* Tecnativa
* Fekete Mihai (Forest and Biomass Services Romania)
* Druidoo
* 

Contributors
~~~~~~~~~~~~

* Michael Telahun Makonnen <mmakonnen@gmail.com>
* Fekete Mihai <feketemihai@gmail.com>
* Nikolina Todorova <nikolina.todorova@initos.com>
* Alexis de Lattre <alexis.delattre@akretion.com>
* Salton Massally (iDT Labs) <smassally@idtlabs.sl>
* Ivan Yelizariev <yelizariev@it-projects.info>
* Bassirou Ndaw <b.ndaw@ergobit.org>
* Dhara Solanki <dhara.solanki@initos.com>
* `Tecnativa <https://www.tecnativa.com>`__:

  * Pedro M. Baeza

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

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

* `Camptocamp <https://www.camptocamp.com>`__:

  * Damien Crier <damien.crier@camptocamp.com>

* `Druidoo <https://www.druidoo.io>`__:

  * Iván Todorovich <ivan.todorovich@gmail.com>

* `Pesol <https://www.pesol.es>`__:

  * Pedro Evaristo Gonzalez Sanchez <pedro.gonzalez@pesol.es>

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-holidays <https://github.com/OCA/hr-holidays/tree/16.0/hr_holidays_public>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
