Open Holiday Calendar
Go to Old → Core → Holiday Calendar or its School Setup More settings drawer. The drawer keeps its outer container, resource, query, hash, state and unsaved same-engine form when switching layouts.
Original calendar
Original required Holiday and Date, campus selection (0 means All campuses), yearly recurrence and notes fields retain Create/Edit/confirmed Delete behavior and server feedback. Restore national holidays remains the original action, with its existing scope. Fixed-date holidays can recur yearly; moving lunar dates must be entered for the announced year. Weekly off belongs to Late Fee Automation. The list retains its 500-row loaded cap.
Choose your layout
Classic opens first unless you saved another institute-specific preference. Try the new layout and View old layout switch both ways; Make this my default or Make old layout my default saves that preference. Explicit links override it for a visit, and failed saves retain the previous preference with Retry. The same page keeps form drafts. Layout choice itself grants no permissions, saves no business row and sends no message.
Review and native Print
Original substring/column filters and numeric-aware sorting remain. Excel/PDF include every matching loaded row in the selected grid across local pages. Browser Print includes each grid's displayed page and original form, not an inferred full server dataset; no dedicated Print action is added. All value labels remain visible in either layout while mutation buttons stay hidden.
Pending and failed reads
Initial grid mount waits for successful metadata. Loading, saving, previewing, running or failed primary/history reads guard stale callbacks, search/page/files and print. Retry repeats only failed read queries, merging primary and history when both failed. Dialog Cancel remains available for recovery. Current mutation/API behavior is preserved.
