From 047ca290e84356ffe8f16b9e902ca5e04c38f280 Mon Sep 17 00:00:00 2001 From: David Date: Thu, 31 Oct 2024 17:11:05 +0100 Subject: [PATCH] [ADD] hr_shift_holidays_public: New module TT50623 --- hr_shift_holidays_public/README.rst | 90 ++++ hr_shift_holidays_public/__init__.py | 1 + hr_shift_holidays_public/__manifest__.py | 13 + hr_shift_holidays_public/models/__init__.py | 1 + .../models/shift_planning_line.py | 14 + .../readme/CONTRIBUTORS.md | 3 + .../readme/DESCRIPTION.md | 1 + hr_shift_holidays_public/readme/USAGE.md | 4 + .../static/description/index.html | 435 ++++++++++++++++++ .../static/description/public_holidays.png | Bin 0 -> 20394 bytes .../odoo/addons/hr_shift_holidays_public | 1 + setup/hr_shift_holidays_public/setup.py | 6 + 12 files changed, 569 insertions(+) create mode 100644 hr_shift_holidays_public/README.rst create mode 100644 hr_shift_holidays_public/__init__.py create mode 100644 hr_shift_holidays_public/__manifest__.py create mode 100644 hr_shift_holidays_public/models/__init__.py create mode 100644 hr_shift_holidays_public/models/shift_planning_line.py create mode 100644 hr_shift_holidays_public/readme/CONTRIBUTORS.md create mode 100644 hr_shift_holidays_public/readme/DESCRIPTION.md create mode 100644 hr_shift_holidays_public/readme/USAGE.md create mode 100644 hr_shift_holidays_public/static/description/index.html create mode 100644 hr_shift_holidays_public/static/description/public_holidays.png create mode 120000 setup/hr_shift_holidays_public/odoo/addons/hr_shift_holidays_public create mode 100644 setup/hr_shift_holidays_public/setup.py diff --git a/hr_shift_holidays_public/README.rst b/hr_shift_holidays_public/README.rst new file mode 100644 index 0000000..0259e20 --- /dev/null +++ b/hr_shift_holidays_public/README.rst @@ -0,0 +1,90 @@ +==================================== +Employees Shifts and public holidays +==================================== + +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:a3888a417c1632d78c79228e8132cb126db3e848a4b226008fd0330b6e8cc032 + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |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/licence-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%2Fshift--planning-lightgray.png?logo=github + :target: https://github.com/OCA/shift-planning/tree/14.0/hr_shift_holidays_public + :alt: OCA/shift-planning +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/shift-planning-14-0/shift-planning-14-0-hr_shift_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/shift-planning&target_branch=14.0 + :alt: Try me on Runboat + +|badge1| |badge2| |badge3| |badge4| |badge5| + +Avoid assigning shifts on public holidays. + +**Table of contents** + +.. contents:: + :local: + +Usage +===== + +When there's a public holiday for an employees work address no shift +will be assigned for that day. Those days will be marked as black in the +assingment card. + +|Public holidays in shift cards| + +.. |Public holidays in shift cards| image:: https://raw.githubusercontent.com/OCA/shift-planning/14.0/hr_shift_holidays_public/static/description/public_holidays.png + +Bug Tracker +=========== + +Bugs are tracked on `GitHub 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 `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +------- + +* Tecnativa + +Contributors +------------ + +- `Tecnativa `__: + + - David Vidal + - Pedro M. Baeza + +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/shift-planning `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/hr_shift_holidays_public/__init__.py b/hr_shift_holidays_public/__init__.py new file mode 100644 index 0000000..0650744 --- /dev/null +++ b/hr_shift_holidays_public/__init__.py @@ -0,0 +1 @@ +from . import models diff --git a/hr_shift_holidays_public/__manifest__.py b/hr_shift_holidays_public/__manifest__.py new file mode 100644 index 0000000..6e1c2c5 --- /dev/null +++ b/hr_shift_holidays_public/__manifest__.py @@ -0,0 +1,13 @@ +# Copyright 2024 Tecnativa - David Vidal +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). +{ + "name": "Employees Shifts and public holidays", + "summary": "Avoid planning shifts on holidays", + "version": "14.0.1.0.0", + "author": "Tecnativa, Odoo Community Association (OCA)", + "license": "AGPL-3", + "website": "https://github.com/OCA/shift-planning", + "category": "Marketing", + "depends": ["hr_holidays_public", "hr_shift"], + "data": [], +} diff --git a/hr_shift_holidays_public/models/__init__.py b/hr_shift_holidays_public/models/__init__.py new file mode 100644 index 0000000..5374e2e --- /dev/null +++ b/hr_shift_holidays_public/models/__init__.py @@ -0,0 +1 @@ +from . import shift_planning_line diff --git a/hr_shift_holidays_public/models/shift_planning_line.py b/hr_shift_holidays_public/models/shift_planning_line.py new file mode 100644 index 0000000..c2716ed --- /dev/null +++ b/hr_shift_holidays_public/models/shift_planning_line.py @@ -0,0 +1,14 @@ +# Copyright 2024 Tecnativa - David Vidal +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). +from odoo import models + + +class ShiftPlanningLine(models.Model): + _inherit = "hr.shift.planning.line" + + def _is_public_holiday(self): + if not (self.start_date and self.employee_id): + return False + return self.env["hr.holidays.public"].is_public_holiday( + self.start_date, self.employee_id.id + ) diff --git a/hr_shift_holidays_public/readme/CONTRIBUTORS.md b/hr_shift_holidays_public/readme/CONTRIBUTORS.md new file mode 100644 index 0000000..0678f4f --- /dev/null +++ b/hr_shift_holidays_public/readme/CONTRIBUTORS.md @@ -0,0 +1,3 @@ +- [Tecnativa](https://tecnativa.com): + - David Vidal + - Pedro M. Baeza diff --git a/hr_shift_holidays_public/readme/DESCRIPTION.md b/hr_shift_holidays_public/readme/DESCRIPTION.md new file mode 100644 index 0000000..cbd2374 --- /dev/null +++ b/hr_shift_holidays_public/readme/DESCRIPTION.md @@ -0,0 +1 @@ +Avoid assigning shifts on public holidays. diff --git a/hr_shift_holidays_public/readme/USAGE.md b/hr_shift_holidays_public/readme/USAGE.md new file mode 100644 index 0000000..9f793d8 --- /dev/null +++ b/hr_shift_holidays_public/readme/USAGE.md @@ -0,0 +1,4 @@ +When there's a public holiday for an employees work address no shift will be assigned +for that day. Those days will be marked as black in the assingment card. + +![Public holidays in shift cards](../static/description/public_holidays.png) diff --git a/hr_shift_holidays_public/static/description/index.html b/hr_shift_holidays_public/static/description/index.html new file mode 100644 index 0000000..c6eac2b --- /dev/null +++ b/hr_shift_holidays_public/static/description/index.html @@ -0,0 +1,435 @@ + + + + + +Employees Shifts and public holidays + + + +
+

Employees Shifts and public holidays

+ + +

Beta License: AGPL-3 OCA/shift-planning Translate me on Weblate Try me on Runboat

+

Avoid assigning shifts on public holidays.

+

Table of contents

+ +
+

Usage

+

When there’s a public holiday for an employees work address no shift +will be assigned for that day. Those days will be marked as black in the +assingment card.

+

Public holidays in shift cards

+
+
+

Bug Tracker

+

Bugs are tracked on GitHub 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.

+

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

+
+
+

Credits

+
+

Authors

+
    +
  • Tecnativa
  • +
+
+
+

Contributors

+
    +
  • Tecnativa:
      +
    • David Vidal
    • +
    • Pedro M. Baeza
    • +
    +
  • +
+
+
+

Maintainers

+

This module is maintained by the OCA.

+ +Odoo Community Association + +

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/shift-planning project on GitHub.

+

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

+
+
+
+ + diff --git a/hr_shift_holidays_public/static/description/public_holidays.png b/hr_shift_holidays_public/static/description/public_holidays.png new file mode 100644 index 0000000000000000000000000000000000000000..19f6c1cea0fb92492a6f2935afebd0ac0fac9bd6 GIT binary patch literal 20394 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 literal 0 HcmV?d00001 diff --git a/setup/hr_shift_holidays_public/odoo/addons/hr_shift_holidays_public b/setup/hr_shift_holidays_public/odoo/addons/hr_shift_holidays_public new file mode 120000 index 0000000..e88b273 --- /dev/null +++ b/setup/hr_shift_holidays_public/odoo/addons/hr_shift_holidays_public @@ -0,0 +1 @@ +../../../../hr_shift_holidays_public \ No newline at end of file diff --git a/setup/hr_shift_holidays_public/setup.py b/setup/hr_shift_holidays_public/setup.py new file mode 100644 index 0000000..28c57bb --- /dev/null +++ b/setup/hr_shift_holidays_public/setup.py @@ -0,0 +1,6 @@ +import setuptools + +setuptools.setup( + setup_requires=['setuptools-odoo'], + odoo_addon=True, +)