{{-- Edit User — docs/wireframes-v12/edit-user.html (the card at lines 76-318), minus everything CR-13 §0 removes. ## The twin rule (recipe §9) This file and users/create.blade.php are twins. Every field is written out in both, and neither includes a shared form partial. **A field added, removed or renamed here must be mirrored in create.blade.php in the same commit.** These twins are deliberately NOT in TwinViewParityTest — create.blade.php's header explains why at length, and the short version is that the client's own password rule (§0.6) makes the two screens' required sets differ by design, which is exactly what that test fails on. The docblock rule above is the guardrail this pair gets instead. ### What this screen has that its twin does not * the action (`users.update`) and the method (PUT, not POST); * the submit label — "Update User", where the twin says "Save User"; * the rule source — UpdateUserRequest, whose email rule ignores this row and whose password rules are `nullable`; * the header wording (it names the user) and the breadcrumb's last crumb; * **optional Password and Confirm Password**, with the BA's own "Leave blank to keep current password" placeholder in place of the twin's "Enter password"; * the read-only **Account Activity** section, which has nothing to show on a user who does not exist yet; * the footer's **Deactivate / Activate** button, for the same reason; * a Role select that may hold ONE option — see the note on that field. ## Deliberate differences from the wireframe * **The Username field is gone** (client, §0.3; edit-user.html:119-122). v12 draws it readonly with a grey ground; there is no username column to show, and login is by email. * **The "Reset Password" button is gone** (decision D2; edit-user.html:125). The client's own rule — blank keeps the current password, filled changes it — makes the two inline fields the mechanism, and a separate reset flow would have been a second writer of the same column. The self-service forgot-password flow is untouched and is still how a user resets their own. * **The Permissions section is gone** (client, §0.4; lines 159-250) and **Additional Settings** with it (client, §0.5; lines 252-280). * **Account Activity loses its Failed Login Attempts row** (decision D4; line 304-307): nothing counts them. The row is not replaced — the second row of that section runs one detail item and two empty cells, exactly as v12's own second row does with its third cell. * **Total Logins is counted from the activity log**, not from a counter column (decision D4). It therefore counts logins since the audit trail began rather than since the account was created; the wireframe's "482" is a mock-up either way. * **The Role select lists the REAL spatie roles** (decision D3), narrowed by the two guards a screen can answer for free — see its own note below. ## Why the status button is a form of its own, declared outside the card `