Skip to main content
Source snapshot: 13 October 2026. These pages describe the current implementation, including unfinished controls. See coverage and review notes.

Madrassa and Dars register

Host: admin.<ROOT_DOMAIN> · Route: /[tenant]/registers/madrassa

Purpose and access

Maintain the madrassa and dars register for this tenant using its own record fields.You need an account session and a resolved membership context in the selected Mahallu (including the API’s current platform elevation path). The API independently checks the requested operation’s permissions and feature availability.

Screen layout

The page presents a heading, record count, Add record, and a configured table. Add/edit opens a scrollable two-column dialog; long remarks span the width. This page does not enable certificate controls.

Fields and displayed information

Displayed table columns: Student, Class, Guardian, Admitted.

Fields and filters: Page

Displayed table columns: Actions.

Actions

Interaction sequence

Add record → fill the fields below → submit → close and refresh. Edit pre-fills stored values. Remove opens a confirmation and deletes the selected record. No certificate issuance journey is exposed on this page.

States and rules

The route initially loads 100 records without list pagination controls. Empty and permission-denied states are explicit. Required flags are displayed, but the form uses noValidate and leaves final validation to the API; do not promise native browser validation.The rendered action controls bind loading indicators to pending state. Failed API saves keep their documented error/notification path; a loading indicator alone does not establish persistence.

Implementation references

Paths below are relative to the application repository. This is source-reviewed behavior, not a recorded browser test.
  • apps/web/src/app/sites/admin/[tenant]/registers/madrassa/page.tsx
  • apps/web/src/features/tenants/register-table.tsx
  • apps/web/src/features/tenants/register-form-dialog.tsx
  • apps/web/src/features/registers/printable-certificate.tsx
Data and access helpers: apps/web/src/lib/session.ts, apps/web/src/lib/server-api.ts, apps/web/src/lib/tenants.ts, apps/web/src/lib/registers.ts, apps/web/src/lib/api-client.tsRelevant controller permission keys: registers.madrassa.view, registers.madrassa.create, registers.madrassa.update, registers.madrassa.delete. Keys are operation-specific; the current guard grants OWNER/ADMIN and its platform-elevation context an operational bypass. A visible control still does not establish authorization.

API behavior references

  • apps/api/src/registers/madrassa/madrassa.controller.ts