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

Marriage register

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

Purpose and access

Maintain the marriage 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. Certificate controls appear beside eligible records.

Fields and displayed information

Displayed table columns: Groom, Bride, Date.

Fields and filters: Page

Displayed table columns: Certificate, 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. Issue certificate saves a certificate number; Print / Save Certificate then opens a printable preview.

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/marriage/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.marriage.view, registers.marriage.create, registers.marriage.update, registers.marriage.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/marriage/marriage.controller.ts