🎬 Simulate:
Edit Staff Profile
Personal info
Position and affiliation
Contact details
+856
Screen Flow (from flow.puml):
Uses sub-flows:
📝 Spec notes — UC-IDP.11 / SCR-IDP.45 (fields, actions, requirements)
Identity
- Screen: SCR-IDP.45 — Edit Staff Profile
- Use case: UC-IDP.11 — Update Staff Profile
- Includes: SUC-IDP-01 (Authenticate via email verification code), SUC-IDP-02 (Authenticate via SMS verification code) — AF-3C contact re-verification
Brief description
A staff profile edit form for Program Administrator and Super Administrator. All fields are pre-filled with the current profile data when the screen loads, organized into 3 groups: name, position and affiliation, and contact details. When "Save" is clicked, the system validates email/mobile uniqueness (SS-IDP.03) and required fields before saving. On success with no contact change, navigates to SCR-IDP.46 with a confirmation banner. If email or phone number changed, invokes the included SUC-IDP-01 (email) or SUC-IDP-02 (mobile) for re-verification before saving.
Fields
firstname"First name" — text · User.firstname · required · min 1 / max 100 · always visiblelastname"Last name" — text · User.lastname · required · min 1 / max 100 · always visibleposition"Position" — text · StaffProfile.position · optional · max 150 · always visibleaffiliation"Department / Institution" — text · StaffProfile.affiliation · optional · max 150 · always visibleemail"Email" — text · StaffProfile.email · optional · email format / max 255 · always visible · contact change triggers verification via SUC-IDP-01 per SS-IDP.15country_code"Country code" — text · literal default "+856" · always visible · read-only (input-group prefix)mobile"Mobile number" — phone · StaffProfile.mobile · optional · phone format · always visible · contact change triggers verification via SUC-IDP-02 per SS-IDP.15
Actions
submit"Save" — enabled when required_fields_valid · triggers UC-IDP.11-M-2 → navigates to SCR-IDP.46 (no contact change) or includes SUC-IDP-01/02 (contact changed, AF-3C)cancel"Cancel" — always enabled · returns to SCR-IDP.46
Additional requirements
- Display an inline error message below the email or mobile number field when the entered value is already used by another account (AF-3A) — the screen must not navigate away. [refs: SS-IDP.03]
- Display an inline error message below the first name or last name field when a required field is left blank (AF-3B). [refs: —]
- When the user changes their email or mobile number, the system must verify the new contact information before saving via the included SUC-IDP-01 (email) or SUC-IDP-02 (mobile); this flow is triggered after submit is clicked. [refs: SS-IDP.15]