0faae69c6394eb00cce99f2745ec42aebe614815
Проблема: - При переходе cancelled → completed срабатывали ОБА сигнала: 1. reserve_stock_on_uncancellation переводил ShowcaseItem: available → reserved 2. create_sale_on_order_completion искал букеты в available, но они уже в reserved 3. Букеты оставались в reserved вместо sold Решение: - inventory/signals.py: в reserve_stock_on_uncancellation добавлена проверка current_status.is_positive_end - Если текущий статус положительный финальный (completed) - ShowcaseItem НЕ трогаем - Оставляем в available для финализации в create_sale_on_order_completion - Если текущий статус нейтральный (draft/pending) - переводим available → reserved как раньше Flow теперь работает корректно: 1. cancelled → draft/pending: ShowcaseItem available → reserved ✅ 2. cancelled → completed: ShowcaseItem available → sold ✅ (ИСПРАВЛЕНО!) - reserve_stock_on_uncancellation пропускает (видит is_positive_end) - create_sale_on_order_completion финализирует: available → sold Защита от race condition между двумя сигналами.
Description
No description provided
Languages
Python
57%
HTML
32%
JavaScript
9.5%
CSS
1.1%
Shell
0.4%