vinindkoeb/app
carsten b6b14aefac Opgave 10: fortløbende ordrenummer pr. runde + afhentningsliste
Order.order_number tildeles atomisk i POST /public/orders via en
SELECT ... FOR UPDATE-lås på rundens række + MAX+1, så samtidige
bestillinger lige efter en runde åbner ikke kan kollidere. Nummeret
starter på 1 for hver runde (UNIQUE(purchase_round_id, order_number))
og er nu tilgængeligt som {{order_number}} i mail-skabeloner.

GET /purchase-rounds/{id}/pickup-list genskaber den gamle systems
afhentningsliste (delt af brugeren som reference) mod den nye
datamodel: én printside pr. ordre, sorteret efter order_number (vist
stort i øverste højre hjørne), kontaktinfo, flaske-/kasseantal
(pænt afrundet — originalen viste et urundet float), og
vinlinjer grupperet pr. kategori.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-29 00:21:45 +02:00
..
core Add Postal webhook receiver for delivery status (task 7c) 2026-09-28 20:50:24 +02:00
models Opgave 10: fortløbende ordrenummer pr. runde + afhentningsliste 2026-09-29 00:21:45 +02:00
routers Opgave 10: fortløbende ordrenummer pr. runde + afhentningsliste 2026-09-29 00:21:45 +02:00
services Opgave 10: fortløbende ordrenummer pr. runde + afhentningsliste 2026-09-29 00:21:45 +02:00
static Opgave 8c: bekræftelsesside efter bestilling + responsivt layout-fix 2026-09-28 23:51:41 +02:00
templates Opgave 10: fortløbende ordrenummer pr. runde + afhentningsliste 2026-09-29 00:21:45 +02:00
__init__.py Scaffold FastAPI + SQLModel + Alembic project, Postgres-backed 2026-09-27 15:57:44 +02:00
db.py Scaffold FastAPI + SQLModel + Alembic project, Postgres-backed 2026-09-27 15:57:44 +02:00
dependencies.py Opgave 9: admin-ordreoversigt + "markér betalt" 2026-09-29 00:03:45 +02:00
main.py Opgave 9: admin-ordreoversigt + "markér betalt" 2026-09-29 00:03:45 +02:00