Source snapshot: 13 October 2026. These pages describe the current implementation, including unfinished controls. See coverage and review notes.
- English
- മലയാളം
Committee office bearers
Host:admin.<ROOT_DOMAIN> · Route: /[tenant]/committeePurpose and access
Maintain committee posts and the member assigned to each office.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 roster lists posts and offers Add post, Edit, and Remove. The post dialog captures member, designation, display order, and term start/end dates.Fields and displayed information
Displayed table columns: Designation, Member, Term, Actions.Fields and filters: Committee post form dialog
Actions
Linked navigation
Interaction sequence
Add post → complete the post details → save → refresh. Edit opens the saved post; Remove opens a confirmation before the delete request.States and rules
Committee access is permission-gated. An empty roster has its own message. Office-bearer records are distinct from platform roles and tenant administrator permissions.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]/committee/page.tsxapps/web/src/features/tenants/committee-roster.tsxapps/web/src/features/tenants/committee-post-form-dialog.tsx
apps/web/src/lib/session.ts, apps/web/src/lib/server-api.ts, apps/web/src/lib/tenants.ts, apps/web/src/lib/committee.ts, apps/web/src/lib/members.ts, apps/web/src/lib/api-client.tsRelevant controller permission keys: committee.view, committee.create, committee.update, committee.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/committee/committee.controller.ts