Your details: a date picker for the date of birth #863

Closed
opened 2026-10-10 16:01:31 +00:00 by tiagoagueda · 1 comment
Owner

Make the date of birth a date picker. Basecoat has none: build one or use one of the suggestions in basecoat#124.

What exists today

  • Three boxes, Day / Month / Year (accounts/forms.py:592-620), on purpose: as the GOV.UK Design System draws a date somebody knows part of … rather than a menu of a hundred and twenty years. A partial date is allowed (1990, 1990-03; core/personal.py:69-131), and the boxes follow the language's order.
  • Scripts are same-origin only (script-src 'self'); a library is vendored by scripts/sync-vendor.mjs with its licence, and Basecoat's JS is not vendored because components must work without scripts (#262).

What would change

  • A calendar button beside the boxes opening a picker that fills them; the boxes stay, as the no-script form and the way to give a year alone.

Decisions

  • Replace the boxes or add to them. Recommended: add — a birth date is known and typed faster than picked, and a picker cannot express 1990 alone, which the record allows.
  • Library or own. Recommended: decide once with the calendar's period picker (#858); a vendored library must be dependency-free, same-origin, and pass the CSP.

Checked against main at 8c3d03570. From the maintainer's improvements list of 2026-10-07.

Make the date of birth a date picker. Basecoat has none: build one or use one of the suggestions in basecoat#124. ## What exists today - Three boxes, Day / Month / Year (`accounts/forms.py:592-620`), on purpose: *as the GOV.UK Design System draws a date somebody knows part of … rather than a menu of a hundred and twenty years*. A partial date is allowed (1990, 1990-03; `core/personal.py:69-131`), and the boxes follow the language's order. - Scripts are same-origin only (`script-src 'self'`); a library is vendored by `scripts/sync-vendor.mjs` with its licence, and Basecoat's JS is not vendored because components must work without scripts (#262). ## What would change - A calendar button beside the boxes opening a picker that fills them; the boxes stay, as the no-script form and the way to give a year alone. ## Decisions - **Replace the boxes or add to them.** Recommended: add — a birth date is known and typed faster than picked, and a picker cannot express *1990* alone, which the record allows. - **Library or own.** Recommended: decide once with the calendar's period picker (#858); a vendored library must be dependency-free, same-origin, and pass the CSP. Checked against `main` at `8c3d03570`. From the maintainer's improvements list of 2026-10-07.
tiagoagueda added this to the 0.6.0 milestone 2026-10-10 16:01:31 +00:00
Author
Owner

Fixed in ec3be4141 on main.

Fixed in ec3be4141 on main.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
Postulo/postulo#863
No description provided.