🎬 Simulate:
Edit Learner Profile (Admin)
Learner Identity
Contact Information
+856
Personal Information
Screen Flow (from flow.puml):
📝 Spec notes — UC-IDP.12 / SCR-IDP.35 (fields, actions, requirements)
Identity
- Screen: SCR-IDP.35 — Edit Learner Profile (Admin)
- Use case: UC-IDP.12 — Manage Learner Profile & Access
Brief description
A form page for editing an individual learner's profile and account status, accessible by Super Administrators only. The form is pre-populated with the learner's current data and ready for editing immediately. Fields are grouped into 3 logical sections: Learner Identity (first name, last name, account status), Contact Information (email, mobile), and Personal Information (date of birth, gender). The system enforces email and mobile uniqueness (SS-IDP.03). Every edit by the Super Administrator is recorded in the audit log.
Fields
firstname"First name" — text · required · max 100 chars · lookup.User.firstname · alwayslastname"Last name" — text · required · max 100 chars · lookup.User.lastname · alwaysaccount_status"Account status" — enum (Active | Suspended | Revoked) · required · lookup.AuthIdentity.status · alwaysemail"Email" — text · required · email format · max 255 chars · lookup.LearnerProfile.email · always · no masking (Super Administrator permission)mobile"Mobile number" — phone · optional · regex ^[0-9]{8,10}$ · lookup.LearnerProfile.mobile · +856 prefix fixed · always · no maskingdate_of_birth"Date of birth" — date · optional · lookup.LearnerProfile.date_of_birth · alwaysgender"Gender" — enum (Male | Female | Other) · optional · lookup.LearnerProfile.gender · always
Actions
save"Save" — enabled when required_fields_valid · triggers UC-IDP.12-M-8cancel"Cancel" — always enabled · navigates back to SCR-IDP.34 without saving
Additional requirements
- Display an error message below the invalid field when Save is pressed: email already in use → "This email is already in use"; mobile already in use → "This phone number is already in use"; required field blank → "This field is required". (AF 9A: return to step 8 after correction) [SS-IDP.03]
- Keyboard focus order: First name → Last name → Account status → Email → Mobile number → Date of birth → Gender → Save. [NFR-09]
- Email and mobile values pre-filled from the database must be displayed in full without any masking (Super Administrators have permission to view and edit real data).
- The mobile input field displays the country code "+856" as a fixed prefix to the left of the input. Users enter local digits only (8–10 digits) with no option to change the country.