{
    "name": "Xenoptics Holidays",
    "version": "19.0.1.9.0",
    "summary": "Calendar view + Public/Company type on the Holidays page",
    "description": """
Feature-parity addition for the XENHR -> Odoo migration's Holidays page
(`hr_holidays.open_view_public_holiday`, plan tasks #7/#15's Company
Holidays data).

XENHR's own Holidays screen (xenhr_frontend
src/pages/company/HolidaysPage.tsx) distinguishes every holiday as either
"Public" (blue) or "Company" (purple), with List/Calendar/Grid view modes.
Odoo's native `resource.calendar.leaves` model has no such distinction --
this module adds it back:

- `xeno_holiday_type` (Selection: public/company) on
  `resource.calendar.leaves`, exposed on the list/form views and as a
  search filter, mirroring XENHR's `type` field.
- A dedicated calendar view for the Holidays page, colored by
  `xeno_holiday_type` (Odoo's own calendar widget assigns a distinct,
  consistent color per value automatically).
- The Holidays action/menu renamed from "Public Holidays" to "Holidays".
- A one-time post-install migration backfills `xeno_holiday_type` for the
  holidays already imported (tasks #7/#15) by reading back the "(public)"
  / "(company)" suffix baked into their `name` at import time, then
  strips that suffix now that it's a real field instead of embedded text.
- `xeno_remark` (Text) on the same model, backfilled from XENHR's
  `Holiday.description`.
- "Add Holiday" quick-create dialog on the Holidays calendar (replaces
  the stock name-only "New Event" popup via quick_create_view_id):
  name, single Date (spans the whole day), Public/Company radio,
  optional description, and a "Recurring yearly" flag that materializes
  next year's copy immediately plus a monthly cron that keeps rolling
  recurring holidays one year ahead. Same flag also exposed on the full
  Holiday form (edit an existing holiday), not just the quick-create
  dialog.
- Time Off app personal dashboard (year calendar): holidays now render
  green-filled, distinct from weekends (left grey), via a small Owl patch
  on `TimeOffCalendarYearRenderer` since Odoo's own `get_unusual_days()`
  flags both identically with no type info.
- Same green/grey split extended to the generic Calendar app
  (`calendar.event`, /odoo/calendar), which shares the identical
  get_unusual_days() ambiguity via hr_calendar -- guarded to that model
  only so other apps built on the same base calendar renderer are
  unaffected. Covers both the Month/Week/Day renderer AND the Year
  renderer (a separate component -- the original patch only covered the
  former, which is why the Year view kept showing holidays grey).
""",
    "author": "Xenoptics",
    "license": "LGPL-3",
    "category": "Human Resources",
    "depends": ["hr_holidays", "xeno_leave"],
    "data": [
        "views/resource_calendar_leaves_views.xml",
        "data/ir_cron.xml",
    ],
    "assets": {
        "web.assets_backend": [
            "xeno_holidays/static/src/js/time_off_calendar_year_patch.js",
            "xeno_holidays/static/src/js/time_off_calendar_common_patch.js",
            "xeno_holidays/static/src/js/calendar_event_common_patch.js",
            "xeno_holidays/static/src/js/calendar_year_patch.js",
            "xeno_holidays/static/src/js/holidays_quick_create_patch.js",
            "xeno_holidays/static/src/scss/time_off_calendar_year.scss",
        ],
    },
    "post_init_hook": "_migrate_existing_holiday_type",
    "installable": True,
    "application": False,
}
