Skip to content

fix(harmonia): the personal (my) surface honors view: range/calendar - a personal calendar replaces the list - #6352

Merged
delchev merged 1 commit into
masterfrom
fix/my-range-calendar
Jul 21, 2026
Merged

fix(harmonia): the personal (my) surface honors view: range/calendar - a personal calendar replaces the list#6352
delchev merged 1 commit into
masterfrom
fix/my-range-calendar

Conversation

@delchev

@delchev delchev commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

A view: range|calendar personal root downgraded to a plain form+list on the My shell — the leave-calendar UX existed only on the power surface (the last of the personal-template parity family: #6347 lists, #6348 documents, now the view family).

  • New my-calendar page/view templates: the user's own records as x-h-calendar events, served by the scoped MyController (foreign rows and sensitive fields never arrive); date-click → personal create with the clicked day prefilled; event-click → personal edit.
  • generateUtils: personalCalendarModels (MANAGE_CALENDAR personal roots) and personalListModels (the list pair excludes calendar roots — the calendar replaces the list, mirroring the power surface where the calendar replaces the table).
  • Shell index: /my/<Entity> routes to the personal calendar view and loads its page script.

IT: a personal view: range fixture (Leave) asserts the personal calendar page reads through the MyController, the view renders x-h-calendar, and /my/<Entity> lands on it — ran green locally (1/1).

Verified live: regenerated a view: range module — the My shell renders the month grid with the own request as an event in its start cell (browser-checked, role-based locators).

🤖 Generated with Claude Code

…- a personal calendar page replaces the list

A view: range|calendar personal root downgraded to a plain form+list on the My shell - the leave
calendar existed only on the power surface. The personal surface now renders its own calendar,
exactly like the power one replaces the table:

- new my-calendar page/view templates: the user's OWN records as x-h-calendar events (served by
  the scoped MyController - foreign rows and sensitive fields never arrive); date-click creates
  with the clicked day prefilled, event-click edits, both through the personal form;
- generateUtils: personalCalendarModels (MANAGE_CALENDAR personal roots) + personalListModels
  (the list pair now excludes calendar roots - replaced, not duplicated);
- the shell index routes /my/<Entity> to the personal calendar view and loads its page script.

IntentEmissionCoverageIT: a personal view: range fixture (Leave) asserts the personal calendar
page reads through the MyController, the view renders x-h-calendar, and /my/<Entity> routes to
it. Ran green locally (1/1).

Verified live: regenerated the leave module - the My shell renders the month grid with the own
request as an event in its start cell (browser-checked).
@delchev
delchev merged commit e0909b0 into master Jul 21, 2026
10 checks passed
@delchev
delchev deleted the fix/my-range-calendar branch July 21, 2026 19:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant