{"v":[{"id":1141,"html_url":"https:\/\/www-s01.apinet.com\/codeforge\/apiintl\/hhmanager\/issues\/114#issuecomment-1141","pull_request_url":"","issue_url":"https:\/\/www-s01.apinet.com\/codeforge\/apiintl\/hhmanager\/issues\/114","user":{"id":1,"login":"charles","login_name":"","source_id":0,"full_name":"Charles Willgren","email":"charles@noreply.www-s01.apinet.com","avatar_url":"https:\/\/www-s01.apinet.com\/codeforge\/avatars\/d3c894f7297c5a18eb3f6ac837c335b11a00aa9cc0961323771632b1e2d61bb2","html_url":"https:\/\/www-s01.apinet.com\/codeforge\/charles","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2025-12-08T10:03:41-06:00","restricted":false,"active":false,"prohibit_login":false,"location":"","pronouns":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"charles"},"original_author":"","original_author_id":0,"body":"Done in c9e7c29 (builds on #113, 7f9771e).\n\n**How it works.** Whether the client signs with an X is decided on the **signing screen**, when the client takes the pen. It is not an interview question.\n- Until the client has adopted a signature, each client line has a **Client signs with an X** button under its Sign button. It opens the client's adoption with a new **Signs with an X** box ticked. The box is also there when adopting from Sign.\n- **X:** the two witness lines become owed on every form that has them: the PAS\/PHC and PCS consents, Private Pay and the H2076. The witnesses give their name and draw a signature, and the date is stamped by their tap (#113).\n- **No X:** the witness lines say \"Only if the client signs with an X.\", are not counted toward finishing, and print blank. Staff no longer have to \"Record why\" on each one.\n- The choice belongs to that printing. If an answer changes and the forms are generated again, it is asked again.\n\n**Technical.**\n- New column `form_v2_visit_signer.signs_with_mark` (`migrations\/20261006_signer-signs-with-mark.sql`).\n- `form_v2_sign_plan()` makes a witness line apply only when the client's adoption carries the mark.\n- `form_v2_sign_adopt()` refuses the mark for anyone but the client.\n- Tests in `test-form-v2-sign-rules` and `test-form-v2-sign-state`.\n\n**Checked on dev.** SOC\/AO was published there, a visit was printed with private pay, and the client adopted an X: 28 \u2192 32 things to do, and the X buttons went away. Witness 1 adopted, signed and was stamped with the tap's time.\n\n**To apply:** `php scripts\/migrate.php --apply`, then publish #113's SOC\/AO release on `\/admin\/form-v2-publish` and choose it on `\/admin\/form-v2-releases`.","assets":[],"created_at":"2026-10-06T11:10:26-05:00","updated_at":"2026-10-06T11:10:26-05:00"}]}