Skip to content

Edit targets#81

Open
foobacca wants to merge 5 commits intomainfrom
edit-targets
Open

Edit targets#81
foobacca wants to merge 5 commits intomainfrom
edit-targets

Conversation

@foobacca
Copy link
Contributor

Provide a web UI (in the old gov uk style) for create/edit/delete of targets.

foobacca and others added 5 commits March 11, 2026 16:58
Add create/update/delete operations for target categories and values
in the service layer, with proper permission checks and validation.
Reset max_flex to unset when editing values via the form, since the
sortition library recalculates safe defaults at selection time.
Also add WTForms for category and value editing.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add routes for creating, editing, and deleting target categories and
values with HTMX partial page updates. Includes progressive enhancement
(forms work without JS), Alpine.js toggle state for edit mode, OOB swaps
for adding categories, and 422 status handling for validation errors.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add unit tests for in-place value mutation, integration tests for all
service layer CRUD functions (including max_flex reset), route-level
login requirement tests, and e2e tests for add/edit/delete categories
and values plus viewer permission checks.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
When categories had a mix of explicit flex values (from CSV import)
and unset flex values (from UI-created targets), the adapter wrote
empty strings for unset max_flex, causing the sortition library to
error with "There is no max_flex value set". Now flex columns are
only included when all values have explicit flex; otherwise the
library calculates safe defaults via set_default_max_flex().

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* main:
  Replace inline onclick handlers with data attributes for CSP compliance
  Improve wording about asking for invite code on front page
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant