HR Holidays Public

hr_holidays_public
REPOSITORY
REPOSITORYOCA/hr-holidays
GIT
GIThttps://github.com/OCA/hr-holidays.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/hr-holidays/tree/19.0/hr_holidays_public
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYHuman Resources
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSTecnativa, Odoo Community Association (OCA), Druidoo, Michael Telahun Makonnen, Fekete Mihai (Forest and Biomass Services Romania)
MAINTAINERS
MAINTAINERSTecnativa, Odoo Community Association (OCA), Druidoo, Michael Telahun Makonnen, Fekete Mihai (Forest and Biomass Services Romania)
COMMITTERS
COMMITTERSWeblate, OCA-git-bot, oca-ci, Cuong, Nguyen Minh Tran Manh, namtnt
WEBSITE
WEBSITEhttps://github.com/OCA/hr-holidays
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:40:49
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/calendar:
    - calendar_public_holiday
odoo/odoo:
    - hr_holidays
    - hr
    - base_setup
    - base
    - web
    - digest
    - mail
    - bus
    - web_tour
    - html_editor
    - portal
    - http_routing
    - auth_signup
    - resource
    - phone_validation
    - resource_mail
    - calendar
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES openupgradelib
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
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).

Code Analysis

Views touched (1)
XML IDNameModelTypeStatus
edit_holiday_status_form hr.leave.type.form hr.leave.type xpath Inherits hr_holidays.edit_holiday_status_form
Models touched (6)

New fields (1)
  • is_public_holiday Boolean
    compute='_compute_is_public_holiday' string='Public Holiday Today'
Public methods (1)
  • get_public_holidays_data(self, date_start, date_end)
    @api.model

New fields (0)

No new fields.

Public methods (1)
  • get_unusual_days(self, date_from, date_to=None)
    @api.model

New fields (1)
  • exclude_public_holidays Boolean
    default=True help='If enabled, public holidays are skipped in leave days calculation.'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/hr-holidays
GIT
GIThttps://github.com/OCA/hr-holidays.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/hr-holidays/tree/18.0/hr_holidays_public
VERSION
VERSION 1.0.6
CATEGORY
CATEGORYHuman Resources
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSTecnativa, Odoo Community Association (OCA), Druidoo, Michael Telahun Makonnen, Fekete Mihai (Forest and Biomass Services Romania)
MAINTAINERS
MAINTAINERSTecnativa, Odoo Community Association (OCA), Druidoo, Michael Telahun Makonnen, Fekete Mihai (Forest and Biomass Services Romania)
COMMITTERS
COMMITTERSAkim Juillerat, Víctor Martínez, Weblate, OCA-git-bot, oca-ci, LauraCForgeFlow, Duy (Đỗ Anh), David Jaen
WEBSITE
WEBSITEhttps://github.com/OCA/hr-holidays
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:30:16
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/calendar:
    - calendar_public_holiday
odoo/odoo:
    - hr_holidays
    - hr
    - base_setup
    - base
    - web
    - digest
    - mail
    - bus
    - web_tour
    - html_editor
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - resource
    - phone_validation
    - resource_mail
    - calendar
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES openupgradelib
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
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).

Code Analysis

Views touched (1)
XML IDNameModelTypeStatus
edit_holiday_status_form hr.leave.type.form hr.leave.type xpath Inherits hr_holidays.edit_holiday_status_form
Models touched (7)

New fields (0)

No new fields.

Public methods (1)
  • get_public_holidays_data(self, date_start, date_end)
    @api.model

New fields (1)
  • is_public_holiday Boolean
    compute='_compute_is_public_holiday' string='Public Holiday Today'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (2)
  • action_validate(self, check_state=True)
    Inject the needed context for excluding public holidays (if applicable) on the actions derived from this validation. This is required for example for `project_timesheet_holidays` for not generating the timesheet on the public holiday. Unfortunately, no regression test can be added, being in a separate module.
  • get_unusual_days(self, date_from, date_to=None)
    @api.model

New fields (1)
  • exclude_public_holidays Boolean
    default=True help='If enabled, public holidays are skipped in leave days calculation.'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/hr-holidays
GIT
GIThttps://github.com/OCA/hr-holidays.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/hr-holidays/tree/17.0/hr_holidays_public
VERSION
VERSION 1.0.11
CATEGORY
CATEGORYHuman Resources
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSTecnativa, Odoo Community Association (OCA), Druidoo, Michael Telahun Makonnen, Fekete Mihai (Forest and Biomass Services Romania)
MAINTAINERS
MAINTAINERSTecnativa, Odoo Community Association (OCA), Druidoo, Michael Telahun Makonnen, Fekete Mihai (Forest and Biomass Services Romania)
COMMITTERS
COMMITTERSPedro M. Baeza, David Alonso, Pierre Verkest, Víctor Martínez, Weblate, OCA-git-bot, David, oca-ci, LauraCForgeFlow, Duy (Đỗ Anh), chien, thaolt, David Jaen
WEBSITE
WEBSITEhttps://github.com/OCA/hr-holidays
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:20:08
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - hr_holidays
    - hr
    - base_setup
    - base
    - web
    - phone_validation
    - mail
    - bus
    - web_tour
    - resource
    - calendar
    - onboarding
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
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).

Code Analysis

Views touched (4)
XML IDNameModelTypeStatus
edit_holiday_status_form hr.leave.type.form hr.leave.type xpath Inherits hr_holidays.edit_holiday_status_form
holidays_public_next_year_wizard_view Create Next Year Public Holidays public.holidays.next.year.wizard form New
view_holidays_public_form hr.holidays.public.form hr.holidays.public form New
view_holidays_public_tree hr.holidays.public.tree hr.holidays.public tree New
Models touched (10)

New fields (0)

No new fields.

Public methods (1)
  • get_public_holidays_data(self, date_start, date_end)
    @api.model

New fields (1)
  • is_public_holiday Boolean
    compute='_compute_is_public_holiday' string='Public Holiday Today'
Public methods (0)

No public methods.

New fields (4)
  • country_id Many2one → res.country
    args: 'res.country', 'Country'
  • display_name Char
    compute='_compute_display_name' store=True args: 'Name'
  • line_ids One2many → hr.holidays.public.line
    args: 'hr.holidays.public.line', 'year_id', 'Holiday Dates'
  • year Integer
    default=date.today().year required=True args: 'Calendar Year'
Public methods (2)
  • get_holidays_list(self, year=None, start_dt=None, end_dt=None, employee_id=None)
    @api.model@api.returns('hr.holidays.public.line')
    Returns recordset of hr.holidays.public.line for the specified year and employee :param year: year as string (optional if start_dt and end_dt defined) :param start_dt: start_dt as date :param end_dt: end_dt as date :param employee_id: ID of the employee :return: recordset of hr.holidays.public.line
  • is_public_holiday(self, selected_date, employee_id=None)
    @api.model
    Returns True if selected_date is a public holiday for the employee :param selected_date: datetime object :param employee_id: ID of the employee :return: bool

New fields (6)
  • date Date
    required=True
  • meeting_id Many2one → calendar.event
    copy=False string='Meeting' args: 'calendar.event'
  • name Char
    required=True
  • state_ids Many2many → res.country.state
    args: 'res.country.state', 'hr_holiday_public_state_rel', 'line_id', 'state_id', 'Related States'
  • variable_date Boolean
    default=True args: 'Date may change'
  • year_id Many2one → hr.holidays.public
    ondelete='cascade' required=True args: 'hr.holidays.public', 'Calendar Year'
Public methods (2)
  • create(self, vals_list)
    @api.model_create_multi
  • unlink(self)

New fields (0)

No new fields.

Public methods (2)
  • action_validate(self)
    Inject the needed context for excluding public holidays (if applicable) on the actions derived from this validation. This is required for example for `project_timesheet_holidays` for not generating the timesheet on the public holiday. Unfortunately, no regression test can be added, being in a separate module.
  • get_unusual_days(self, date_from, date_to=None)
    @api.model

New fields (1)
  • exclude_public_holidays Boolean
    default=True help='If enabled, public holidays are skipped in leave days calculation.'
Public methods (0)

No public methods.

New fields (2)
  • template_ids Many2many → hr.holidays.public
    comodel_name='hr.holidays.public' help='Select the public holidays to use as template. If not set, latest public holidays of each country will be used. Only the last templates of each country for each year will be taken into account (If you select templates from 2012 and 2015, only the templates from 2015 will be taken into account.' string='Templates'
  • year Integer
    help='Year for which you want to create the public holidays. By default, the year following the template.'
Public methods (1)
  • create_public_holidays(self)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/hr-holidays
GIT
GIThttps://github.com/OCA/hr-holidays.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/hr-holidays/tree/16.0/hr_holidays_public
VERSION
VERSION 2.0.6
CATEGORY
CATEGORYHuman Resources
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSTecnativa, Odoo Community Association (OCA), Druidoo, Michael Telahun Makonnen, Fekete Mihai (Forest and Biomass Services Romania)
MAINTAINERS
MAINTAINERSTecnativa, Odoo Community Association (OCA), Druidoo, Michael Telahun Makonnen, Fekete Mihai (Forest and Biomass Services Romania)
COMMITTERS
COMMITTERSAkim Juillerat, sbejaoui, Víctor Martínez, Weblate, OCA-git-bot, oca-ci, Maksym Yankin, David Alonso // Solvos, LauraCForgeFlow, josep-tecnativa, Moctar Diallo
WEBSITE
WEBSITEhttps://github.com/OCA/hr-holidays
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:53:53
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - hr_holidays
    - hr
    - base_setup
    - base
    - web
    - mail
    - bus
    - web_tour
    - resource
    - calendar
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (4)
XML IDNameModelTypeStatus
edit_holiday_status_form hr.leave.type.form hr.leave.type xpath Inherits hr_holidays.edit_holiday_status_form
holidays_public_next_year_wizard_view Create Next Year Public Holidays public.holidays.next.year.wizard form New
view_holidays_public_form hr.holidays.public.form hr.holidays.public form New
view_holidays_public_tree hr.holidays.public.tree hr.holidays.public tree New
Models touched (9)

New fields (1)
  • is_public_holiday Boolean
    compute='_compute_is_public_holiday' string='Public Holiday Today'
Public methods (0)

No public methods.

New fields (4)
  • country_id Many2one → res.country
    args: 'res.country', 'Country'
  • display_name Char
    compute='_compute_display_name' store=True args: 'Name'
  • line_ids One2many → hr.holidays.public.line
    args: 'hr.holidays.public.line', 'year_id', 'Holiday Dates'
  • year Integer
    default=date.today().year required=True args: 'Calendar Year'
Public methods (3)
  • get_holidays_list(self, year=None, start_dt=None, end_dt=None, employee_id=None, partner_id=None)
    @api.model@api.returns('hr.holidays.public.line')
    Returns recordset of hr.holidays.public.line for the specified year and employee :param year: year as string (optional if start_dt and end_dt defined) :param start_dt: start_dt as date :param end_dt: end_dt as date :param employee_id: ID of the employee :return: recordset of hr.holidays.public.line
  • is_public_holiday(self, selected_date, employee_id=None, partner_id=None)
    @api.model
    Returns True if selected_date is a public holiday for the employee :param selected_date: datetime object :param employee_id: ID of the employee :param partner_id: ID of the partner :return: bool
  • name_get(self)

New fields (6)
  • date Date
    required=True
  • meeting_id Many2one → calendar.event
    copy=False string='Meeting' args: 'calendar.event'
  • name Char
    required=True
  • state_ids Many2many → res.country.state
    args: 'res.country.state', 'hr_holiday_public_state_rel', 'line_id', 'state_id', 'Related States'
  • variable_date Boolean
    default=True args: 'Date may change'
  • year_id Many2one → hr.holidays.public
    ondelete='cascade' required=True args: 'hr.holidays.public', 'Calendar Year'
Public methods (2)
  • create(self, vals_list)
    @api.model_create_multi
  • unlink(self)

New fields (0)

No new fields.

Public methods (2)
  • action_validate(self)
    Inject the needed context for excluding public holidays (if applicable) on the actions derived from this validation. This is required for example for `project_timesheet_holidays` for not generating the timesheet on the public holiday. Unfortunately, no regression test can be added, being in a separate module.
  • get_unusual_days(self, date_from, date_to=None)
    @api.model

New fields (1)
  • exclude_public_holidays Boolean
    default=True help='If enabled, public holidays are skipped in leave days calculation.'
Public methods (0)

No public methods.

New fields (2)
  • template_ids Many2many → hr.holidays.public
    comodel_name='hr.holidays.public' help='Select the public holidays to use as template. If not set, latest public holidays of each country will be used. Only the last templates of each country for each year will be taken into account (If you select templates from 2012 and 2015, only the templates from 2015 will be taken into account.' string='Templates'
  • year Integer
    help='Year for which you want to create the public holidays. By default, the year following the template.'
Public methods (1)
  • create_public_holidays(self)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/hr-holidays
GIT
GIThttps://github.com/OCA/hr-holidays.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/hr-holidays/tree/15.0/hr_holidays_public
VERSION
VERSION 1.1.7
CATEGORY
CATEGORYHuman Resources
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSTecnativa, Odoo Community Association (OCA), Druidoo, Michael Telahun Makonnen, Fekete Mihai (Forest and Biomass Services Romania)
MAINTAINERS
MAINTAINERSTecnativa, Odoo Community Association (OCA), Druidoo, Michael Telahun Makonnen, Fekete Mihai (Forest and Biomass Services Romania)
COMMITTERS
COMMITTERSAlexandre Fayolle, Daniel Reis, OCA Transbot, sergio-teruel, Víctor Martínez, Weblate, OCA-git-bot, oca-ci, David Alonso // Solvos, Cesar Andres Sanchez, josep-tecnativa, Pedro Evaristo Gonzalez Sanchez
WEBSITE
WEBSITEhttps://github.com/OCA/hr-holidays
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:46:39
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - hr_holidays
    - hr
    - base_setup
    - base
    - web
    - mail
    - bus
    - web_tour
    - resource
    - calendar
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (4)
XML IDNameModelTypeStatus
edit_holiday_status_form hr.leave.type.form hr.leave.type xpath Inherits hr_holidays.edit_holiday_status_form
holidays_public_next_year_wizard_view Create Next Year Public Holidays public.holidays.next.year.wizard form New
view_holidays_public_form hr.holidays.public.form hr.holidays.public form New
view_holidays_public_tree hr.holidays.public.tree hr.holidays.public tree New
Models touched (6)

New fields (4)
  • country_id Many2one → res.country
    args: 'res.country', 'Country'
  • display_name Char
    compute='_compute_display_name' store=True args: 'Name'
  • line_ids One2many → hr.holidays.public.line
    args: 'hr.holidays.public.line', 'year_id', 'Holiday Dates'
  • year Integer
    default=date.today().year required=True args: 'Calendar Year'
Public methods (3)
  • get_holidays_list(self, year=None, start_dt=None, end_dt=None, employee_id=None)
    @api.model@api.returns('hr.holidays.public.line')
    Returns recordset of hr.holidays.public.line for the specified year and employee :param year: year as string (optional if start_dt and end_dt defined) :param start_dt: start_dt as date :param end_dt: end_dt as date :param employee_id: ID of the employee :return: recordset of hr.holidays.public.line
  • is_public_holiday(self, selected_date, employee_id=None)
    @api.model
    Returns True if selected_date is a public holiday for the employee :param selected_date: datetime object :param employee_id: ID of the employee :return: bool
  • name_get(self)

New fields (6)
  • date Date
    required=True
  • meeting_id Many2one → calendar.event
    copy=False string='Meeting' args: 'calendar.event'
  • name Char
    required=True
  • state_ids Many2many → res.country.state
    args: 'res.country.state', 'hr_holiday_public_state_rel', 'line_id', 'state_id', 'Related States'
  • variable_date Boolean
    default=True args: 'Date may change'
  • year_id Many2one → hr.holidays.public
    ondelete='cascade' required=True args: 'hr.holidays.public', 'Calendar Year'
Public methods (2)
  • create(self, vals_list)
    @api.model_create_multi
  • unlink(self)

New fields (0)

No new fields.

Public methods (2)
  • action_validate(self)
    Inject the needed context for excluding public holidays (if applicable) on the actions derived from this validation. This is required for example for `project_timesheet_holidays` for not generating the timesheet on the public holiday. Unfortunately, no regression test can be added, being in a separate module.
  • get_unusual_days(self, date_from, date_to=None)
    @api.model

New fields (1)
  • exclude_public_holidays Boolean
    default=True help='If enabled, public holidays are skipped in leave days calculation.'
Public methods (0)

No public methods.

New fields (2)
  • template_ids Many2many → hr.holidays.public
    comodel_name='hr.holidays.public' help='Select the public holidays to use as template. If not set, latest public holidays of each country will be used. Only the last templates of each country for each year will be taken into account (If you select templates from 2012 and 2015, only the templates from 2015 will be taken into account.' string='Templates'
  • year Integer
    help='Year for which you want to create the public holidays. By default, the year following the template.'
Public methods (1)
  • create_public_holidays(self)

New fields (0)

No new fields.

Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/hr-holidays
GIT
GIThttps://github.com/OCA/hr-holidays.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/hr-holidays/tree/14.0/hr_holidays_public
VERSION
VERSION 2.1.3
CATEGORY
CATEGORYHuman Resources
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSTecnativa, Odoo Community Association (OCA), Druidoo, Michael Telahun Makonnen, Fekete Mihai (Forest and Biomass Services Romania)
MAINTAINERS
MAINTAINERSTecnativa, Odoo Community Association (OCA), Druidoo, Michael Telahun Makonnen, Fekete Mihai (Forest and Biomass Services Romania)
COMMITTERS
COMMITTERSPedro M. Baeza, GitHub, Enric Tobella, Ivàn Todorovich, Yann Papouin, Pierre Verkest, OCA Transbot, Víctor Martínez, oca-travis, Weblate, OCA-git-bot, oca-ci, Telmo Santos, dsolanki, Cesar Andres Sanchez, fshah, Kevin Luna, Dario Del Zozzo
WEBSITE
WEBSITEhttps://github.com/OCA/hr-holidays
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:41:07
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - hr_holidays
    - hr
    - base_setup
    - base
    - web
    - mail
    - bus
    - web_tour
    - resource
    - calendar
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (4)
XML IDNameModelTypeStatus
edit_holiday_status_form hr.leave.type.form hr.leave.type xpath Inherits hr_holidays.edit_holiday_status_form
holidays_public_next_year_wizard_view Create Next Year Public Holidays public.holidays.next.year.wizard form New
view_holidays_public_form hr.holidays.public.form hr.holidays.public form New
view_holidays_public_tree hr.holidays.public.tree hr.holidays.public tree New
Models touched (6)

New fields (4)
  • country_id Many2one → res.country
    args: 'res.country', 'Country'
  • display_name Char
    compute='_compute_display_name' store=True args: 'Name'
  • line_ids One2many → hr.holidays.public.line
    args: 'hr.holidays.public.line', 'year_id', 'Holiday Dates'
  • year Integer
    default=date.today().year required=True args: 'Calendar Year'
Public methods (3)
  • get_holidays_list(self, year=None, start_dt=None, end_dt=None, employee_id=None)
    @api.model@api.returns('hr.holidays.public.line')
    Returns recordset of hr.holidays.public.line for the specified year and employee :param year: year as string (optional if start_dt and end_dt defined) :param start_dt: start_dt as date :param end_dt: end_dt as date :param employee_id: ID of the employee :return: recordset of hr.holidays.public.line
  • is_public_holiday(self, selected_date, employee_id=None)
    @api.model
    Returns True if selected_date is a public holiday for the employee :param selected_date: datetime object :param employee_id: ID of the employee :return: bool
  • name_get(self)

New fields (6)
  • date Date
    required=True args: 'Date'
  • meeting_id Many2one → calendar.event
    copy=False string='Meeting' args: 'calendar.event'
  • name Char
    required=True args: 'Name'
  • state_ids Many2many → res.country.state
    args: 'res.country.state', 'hr_holiday_public_state_rel', 'line_id', 'state_id', 'Related States'
  • variable_date Boolean
    default=True args: 'Date may change'
  • year_id Many2one → hr.holidays.public
    ondelete='cascade' required=True args: 'hr.holidays.public', 'Calendar Year'
Public methods (2)
  • create(self, values)
    @api.model
  • unlink(self)

New fields (0)

No new fields.

Public methods (2)
  • action_validate(self)
    Inject the needed context for excluding public holidays (if applicable) on the actions derived from this validation. This is required for example for `project_timesheet_holidays` for not generating the timesheet on the public holiday. Unfortunately, no regression test can be added, being in a separate module.
  • get_unusual_days(self, date_from, date_to=None)
    @api.model

New fields (1)
  • exclude_public_holidays Boolean
    default=True help='If enabled, public holidays are skipped in leave days calculation.' string='Exclude Public Holidays'
Public methods (0)

No public methods.

New fields (2)
  • template_ids Many2many → hr.holidays.public
    comodel_name='hr.holidays.public' help='Select the public holidays to use as template. If not set, latest public holidays of each country will be used. Only the last templates of each country for each year will be taken into account (If you select templates from 2012 and 2015, only the templates from 2015 will be taken into account.' string='Templates'
  • year Integer
    help='Year for which you want to create the public holidays. By default, the year following the template.'
Public methods (1)
  • create_public_holidays(self)

New fields (0)

No new fields.

Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/hr-holidays
GIT
GIThttps://github.com/OCA/hr-holidays.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/hr-holidays/tree/13.0/hr_holidays_public
VERSION
VERSION 3.0.6
CATEGORY
CATEGORYHuman Resources
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSTecnativa, Odoo Community Association (OCA), Druidoo, Michael Telahun Makonnen, Fekete Mihai (Forest and Biomass Services Romania)
MAINTAINERS
MAINTAINERSTecnativa, Odoo Community Association (OCA), Druidoo, Michael Telahun Makonnen, Fekete Mihai (Forest and Biomass Services Romania)
COMMITTERS
COMMITTERSPedro M. Baeza, mreficent, Ivàn Todorovich, Alexey Pelykh, OCA Transbot, Víctor Martínez, oca-travis, Weblate, OCA-git-bot, Cesar Andres Sanchez, ernestotejeda
WEBSITE
WEBSITEhttps://github.com/OCA/hr-holidays
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:34:17
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - hr_holidays
    - hr
    - base_setup
    - base
    - web
    - mail
    - bus
    - web_tour
    - resource
    - mail_bot
    - calendar
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (4)
XML IDNameModelTypeStatus
edit_holiday_status_form hr.leave.type.form hr.leave.type xpath Inherits hr_holidays.edit_holiday_status_form
holidays_public_next_year_wizard_view Create Next Year Public Holidays public.holidays.next.year.wizard form New
view_holidays_public_form hr.holidays.public.form hr.holidays.public form New
view_holidays_public_tree hr.holidays.public.tree hr.holidays.public tree New
Models touched (6)

New fields (4)
  • country_id Many2one → res.country
    args: 'res.country', 'Country'
  • display_name Char
    compute='_compute_display_name' store=True args: 'Name'
  • line_ids One2many → hr.holidays.public.line
    args: 'hr.holidays.public.line', 'year_id', 'Holiday Dates'
  • year Integer
    default=date.today().year required=True args: 'Calendar Year'
Public methods (3)
  • get_holidays_list(self, year=None, start_dt=None, end_dt=None, employee_id=None)
    @api.model@api.returns('hr.holidays.public.line')
    Returns recordset of hr.holidays.public.line for the specified year and employee :param year: year as string (optional if start_dt and end_dt defined) :param start_dt: start_dt as date :param end_dt: end_dt as date :param employee_id: ID of the employee :return: recordset of hr.holidays.public.line
  • is_public_holiday(self, selected_date, employee_id=None)
    @api.model
    Returns True if selected_date is a public holiday for the employee :param selected_date: datetime object :param employee_id: ID of the employee :return: bool
  • name_get(self)

New fields (6)
  • date Date
    required=True args: 'Date'
  • meeting_id Many2one → calendar.event
    copy=False string='Meeting' args: 'calendar.event'
  • name Char
    required=True args: 'Name'
  • state_ids Many2many → res.country.state
    args: 'res.country.state', 'hr_holiday_public_state_rel', 'line_id', 'state_id', 'Related States'
  • variable_date Boolean
    default=True args: 'Date may change'
  • year_id Many2one → hr.holidays.public
    ondelete='cascade' required=True args: 'hr.holidays.public', 'Calendar Year'
Public methods (2)
  • create(self, values)
    @api.model
  • unlink(self)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (1)
  • exclude_public_holidays Boolean
    default=True help='If enabled, public holidays are skipped in leave days calculation.' string='Exclude Public Holidays'
Public methods (0)

No public methods.

New fields (2)
  • template_ids Many2many → hr.holidays.public
    comodel_name='hr.holidays.public' help='Select the public holidays to use as template. If not set, latest public holidays of each country will be used. Only the last templates of each country for each year will be taken into account (If you select templates from 2012 and 2015, only the templates from 2015 will be taken into account.' string='Templates'
  • year Integer
    help='Year for which you want to create the public holidays. By default, the year following the template.'
Public methods (1)
  • create_public_holidays(self)

New fields (0)

No new fields.

Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/hr
GIT
GIThttps://github.com/OCA/hr.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/hr/tree/12.0/hr_holidays_public
VERSION
VERSION 1.1.3
CATEGORY
CATEGORYHuman Resources
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSTecnativa, Odoo Community Association (OCA), Druidoo, Michael Telahun Makonnen, Fekete Mihai (Forest and Biomass Services Romania)
MAINTAINERS
MAINTAINERSTecnativa, Odoo Community Association (OCA), Druidoo, Michael Telahun Makonnen, Fekete Mihai (Forest and Biomass Services Romania)
COMMITTERS
COMMITTERSdavid, Uku Lagle, Patrick Tombez, Alexey Pelykh, Francesco Apruzzese, OCA Transbot, Damien Crier, oca-travis, Weblate, OCA-git-bot, Iván Todorovich, Jaime Arroyo, cpatel, Simon Maillard
WEBSITE
WEBSITEhttps://github.com/OCA/hr
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:29:19
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - hr_holidays
    - hr
    - base_setup
    - base
    - web
    - mail
    - bus
    - web_tour
    - resource
    - calendar
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (4)
XML IDNameModelTypeStatus
edit_holiday_status_form hr.leave.type.form hr.leave.type xpath Inherits hr_holidays.edit_holiday_status_form
holidays_public_next_year_wizard_view Create Next Year Public Holidays public.holidays.next.year.wizard form New
view_holidays_public_form hr.holidays.public.form hr.holidays.public form New
view_holidays_public_tree hr.holidays.public.tree hr.holidays.public tree New
Models touched (7)

New fields (4)
  • country_id Many2one → res.country
    args: 'res.country', 'Country'
  • display_name Char
    compute='_compute_display_name' store=True args: 'Name'
  • line_ids One2many → hr.holidays.public.line
    args: 'hr.holidays.public.line', 'year_id', 'Holiday Dates'
  • year Integer
    default=date.today().year required=True args: 'Calendar Year'
Public methods (3)
  • get_holidays_list(self, year, employee_id=None)
    @api.model@api.returns('hr.holidays.public.line')
    Returns recordset of hr.holidays.public.line for the specified year and employee :param year: year as string :param employee_id: ID of the employee :return: recordset of hr.holidays.public.line
  • is_public_holiday(self, selected_date, employee_id=None)
    @api.model
    Returns True if selected_date is a public holiday for the employee :param selected_date: datetime object :param employee_id: ID of the employee :return: bool
  • name_get(self)
    @api.multi

New fields (6)
  • date Date
    required=True args: 'Date'
  • meeting_id Many2one → calendar.event
    string='Meeting' args: 'calendar.event'
  • name Char
    required=True args: 'Name'
  • state_ids Many2many → res.country.state
    args: 'res.country.state', 'hr_holiday_public_state_rel', 'line_id', 'state_id', 'Related States'
  • variable_date Boolean
    default=True oldname='variable' args: 'Date may change'
  • year_id Many2one → hr.holidays.public
    ondelete='cascade' required=True args: 'hr.holidays.public', 'Calendar Year'
Public methods (2)
  • create(self, values)
    @api.model
  • unlink(self)
    @api.multi

New fields (5)
  • date Date
    string='Date'
  • line_id Many2one → hr.holidays.public.line
    args: 'hr.holidays.public.line'
  • name Char
    string='Description'
  • state_ids Many2many → res.country.state
    readonly=True args: 'res.country.state'
  • wizard_id Many2one → public.holidays.next.year.wizard
    args: 'public.holidays.next.year.wizard'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (1)
  • exclude_public_holidays Boolean
    default=True help='If enabled, public holidays are skipped in leave days calculation.' string='Exclude Public Holidays'
Public methods (0)

No public methods.

New fields (5)
  • country_id Many2one → res.country
    related='template_id.country_id' string='Country' args: 'res.country'
  • pending_lines One2many → hr.holidays.public.line.transient
    inverse_name='wizard_id' args: 'hr.holidays.public.line.transient'
  • template_id Many2one → hr.holidays.public
    comodel_name='hr.holidays.public' help='Select the public holidays to use as template.' string='Template'
  • warning_existing Boolean
    compute='_compute_warning_existing' store=True
  • year Integer
    default=<expr> help='Year for which you want to create the public holidays. By default, the year following the template.'
Public methods (1)
  • create_public_holidays(self)
    @api.multi

New fields (0)

No new fields.

Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/hr
GIT
GIThttps://github.com/OCA/hr.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/hr/tree/11.0/hr_holidays_public
VERSION
VERSION 1.0.1
CATEGORY
CATEGORYHuman Resources
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSTecnativa, Odoo Community Association (OCA), Michael Telahun Makonnen, Fekete Mihai (Forest and Biomass Services Romania)
MAINTAINERS
MAINTAINERSTecnativa, Odoo Community Association (OCA), Michael Telahun Makonnen, Fekete Mihai (Forest and Biomass Services Romania)
COMMITTERS
COMMITTERSPedro M. Baeza, GitHub, Luis Torres, Enric Tobella, OCA Transbot, oca-travis, OCA-git-bot
WEBSITE
WEBSITEhttps://github.com/OCA/hr
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:23:58
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - hr_holidays
    - hr
    - base_setup
    - base
    - web
    - mail
    - bus
    - web_tour
    - resource
    - calendar
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (5)
XML IDNameModelTypeStatus
edit_holiday_status_form hr.holidays.status.form - Add compute fields hr.holidays.status xpath Inherits hr_holidays.edit_holiday_status_form
holidays_public_next_year_wizard_view Create Next Year Public Holidays public.holidays.next.year.wizard form New
hr_holidays_public_generator_view hr.holidays.public.generator.view hr.holidays.public.generator form New
view_holidays_public_form hr.holidays.public.form hr.holidays.public form New
view_holidays_public_tree hr.holidays.public.tree hr.holidays.public tree New
Models touched (7)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (4)
  • country_id Many2one → res.country
    args: 'res.country', 'Country'
  • display_name Char
    compute='_compute_display_name' readonly=True store=True args: 'Name'
  • line_ids One2many → hr.holidays.public.line
    args: 'hr.holidays.public.line', 'year_id', 'Holiday Dates'
  • year Integer
    default=date.today().year required=True args: 'Calendar Year'
Public methods (3)
  • get_holidays_list(self, year, employee_id=None)
    @api.model@api.returns('hr.holidays.public.line')
    Returns recordset of hr.holidays.public.line for the specified year and employee :param year: year as string :param employee_id: ID of the employee :return: recordset of hr.holidays.public.line
  • is_public_holiday(self, selected_date, employee_id=None)
    @api.model
    Returns True if selected_date is a public holiday for the employee :param selected_date: datetime object or string :param employee_id: ID of the employee :return: bool
  • name_get(self)
    @api.multi

New fields (4)
  • country_id Many2one → res.country
    domain=[('code', 'in', COUNTRY_GENERATORS)] required=True string='Country' args: 'res.country'
  • state_id Many2one → res.country.state
    string='State' args: 'res.country.state'
  • template_id Many2one → hr.holidays.public
    string='From Template' args: 'hr.holidays.public'
  • year Integer
    default=<expr> required=True args: 'Year'
Public methods (4)
  • action_run(self)
    @api.multi
  • generate_function_copy_name(self)
    @api.multi
  • generate_function_generate_name(self)
    @api.multi
  • onchange_template_id(self)
    @api.onchange('template_id')

New fields (5)
  • date Date
    required=True args: 'Date'
  • name Char
    required=True args: 'Name'
  • state_ids Many2many → res.country.state
    args: 'res.country.state', 'hr_holiday_public_state_rel', 'line_id', 'state_id', 'Related States'
  • variable_date Boolean
    default=True oldname='variable' args: 'Date may change'
  • year_id Many2one → hr.holidays.public
    required=True args: 'hr.holidays.public', 'Calendar Year'
Public methods (1)
  • onchange_date(self)
    @api.onchange('date')

New fields (1)
  • exclude_public_holidays Boolean
    default=True help='If enabled, public holidays are skipped in leave days calculation.' string='Exclude Public Holidays'
Public methods (0)

No public methods.

New fields (2)
  • template_ids Many2many → hr.holidays.public
    comodel_name='hr.holidays.public' help='Select the public holidays to use as template. If not set, latest public holidays of each country will be used. Only the last templates of each country for each year will be taken into account (If you select templates from 2012 and 2015, only the templates from 2015 will be taken into account.' string='Templates'
  • year Integer
    help='Year for which you want to create the public holidays. By default, the year following the template.'
Public methods (1)
  • create_public_holidays(self)
    @api.multi

New fields (0)

No new fields.

Public methods (0)

No public methods.