Manage Faculties
Global academic faculty vocabulary — shared across all institutions
| Faculty Name | No. of Majors | Actions |
|---|---|---|
| Automotive Technology | 0 | |
| Business Administration | 3 | |
| Engineering | 5 | |
| Information Technology | 2 | |
| Natural Sciences | 0 |
Screen Flow (from UC-IDP.30 main_flow + alternative_flows):
📝 Spec notes — UC-IDP.30 / SCR-IDP.74 + embedded SCR-IDP.75, SCR-IDP.76 (fields, actions, requirements)
- Screen: SCR-IDP.74 — Faculty List (entry page)
- Use case: UC-IDP.30 — Manage Faculties
- Also embedded: SCR-IDP.75 — Faculty Form (dialog), SCR-IDP.76 — Delete Faculty Confirmation (dialog)
The Faculty List page gives the Super Administrator a searchable view of all academic faculties in the global master vocabulary, sorted alphabetically. Each row shows the faculty name, the number of Majors grouped under it, and Edit / Delete action buttons. The Add Faculty button and the search field appear at the top of the page. The Delete button is disabled for any faculty that has one or more Majors, preventing deletion until all associated Majors are removed first.
search_keyword"Search" — text · not persisted · always · read-write · default: "" · Toolbar regionfaculty_name"Faculty Name" — text · Faculty.name · always · read-only · sorted A–Z · Faculty table regionmajor_count"No. of Majors" — number · computed (count of Major records under this faculty) · always · read-only · fallback: 0 · determines Delete enabled state · Faculty table region
add_faculty"Add Faculty" — enabled always · triggers UC-IDP.30-A-1A-1 · opens modal-faculty-form (add mode, empty name)edit"Edit" — enabled always · triggers UC-IDP.30-A-1B-1 · opens modal-faculty-form (edit mode, pre-filled name)delete"Delete" — enabled when major_count == 0; disabled + tooltip "Cannot delete — this faculty has associated majors. Remove all majors first." when major_count > 0 · triggers UC-IDP.30-A-1C-1 · opens modal-delete-faculty-confirmationsearch(search on input) — enabled always · triggers UC-IDP.30-M-2/3 · filters list by name (main flow — default list interaction, not an alternative flow)
- The Delete button on each Faculty table row is shown as disabled (greyed out, cursor: not-allowed) when that faculty's major_count is greater than zero. On hover, a tooltip reads "Cannot delete — this faculty has associated majors. Remove all majors first." Backend enforcement is in UC-IDP.30 AR-2. [refs: —]
↳ Embedded dialog: SCR-IDP.75 — Faculty Form
Dialog for adding a new faculty or editing an existing one. Add mode: name empty, title "Add Faculty". Edit mode: name pre-filled with current value, title "Edit Faculty". Save validates uniqueness (case-insensitive, max 150 chars); on duplicate shows inline error "A faculty with this name already exists." and disables Save; on success closes dialog and refreshes list.
faculty_name"Faculty Name" — text · Faculty.name · required · max 150 chars · default: param.faculty_name (fallback "") · always · read-write · Form region
save"Save" — enabled when faculty_name != "" · triggers UC-IDP.30-A-1A-3 (add) / UC-IDP.30-A-1B-3 (edit)cancel"Cancel" — enabled always · triggers UC-IDP.30-M-1 · closes dialog without changes
- When Save fails due to a duplicate faculty name, an inline error message is shown directly below the faculty_name field: "A faculty with this name already exists." The Save button remains enabled so the user can correct and retry. [refs: —]
↳ Embedded dialog: SCR-IDP.76 — Delete Faculty Confirmation
Confirmation dialog shown when Admin clicks Delete on a faculty row (only reachable when major_count == 0). Displays the faculty name and a warning that the action cannot be undone. Confirm deletes the record and closes; Cancel closes without changes. An audit log entry is created on successful deletion.
faculty_name_display"Faculty" — text · Faculty.name · read-only · always · displayed inline in confirmation message · Confirmation message region
confirm_delete"Confirm" — enabled always · triggers UC-IDP.30-A-1C-3 · deletes Faculty record, closes dialog, refreshes listcancel"Cancel" — enabled always · triggers UC-IDP.30-A-1C.3A-1 · closes dialog without changes