checkout() decrements stock_quantity/increments sold_count per order item, but cancellation never reversed it, so a cancelled order's stock stayed permanently reduced. Add _restock_order_items(), called from _transition() on the CANCELLED transition, using F() expressions to reverse both counters atomically; wrap _transition() itself in @transaction.atomic so the status change and restock can't partially apply. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| catalog | ||
| core | ||
| gooyal_oauth2 | ||
| locations | ||
| orders | ||
| reviews | ||
| stores | ||
| users | ||
| __init__.py | ||