vinindkoeb/app/services
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
..
__init__.py Add Postal sending, "annoncér runde" action, and MailLog (task 7b) 2026-09-28 20:16:04 +02:00
mail_rendering.py Add public order API (task 8a) — no login, ad-hoc participant creation 2026-09-28 22:08:58 +02:00
order_mail.py Opgave 10: fortløbende ordrenummer pr. runde + afhentningsliste 2026-09-29 00:21:45 +02:00
postal.py Add Postal sending, "annoncér runde" action, and MailLog (task 7b) 2026-09-28 20:16:04 +02:00
postal_webhook.py Add Postal webhook receiver for delivery status (task 7c) 2026-09-28 20:50:24 +02:00