f9e086fd89c99de1c0a1c41de3cd9d14b22e3287
ПРОБЛЕМА: При редактировании заказа с уже существующими платежами из кошелька, formset пытался валидировать ВСЕ платежи как новые, включая уже проведенные. Это вызывало ошибки валидации кошелька, даже когда пользователь просто хотел добавить новый платеж другим методом. РЕШЕНИЕ: Разделили отображение платежей на две части: 1. УЖЕ ПРОВЕДЕННЫЕ ПЛАТЕЖИ (информационный блок): - Показываются в виде read-only карточек (bg-light) - Не проходят через formset валидацию - Можно удалить через отдельную форму с POST-запросом - Содержат: способ оплаты, сумму, примечания, кнопку удаления 2. НОВЫЕ ПЛАТЕЖИ (formset): - Добавляются через кнопку 'Добавить платеж' - Проходят валидацию только для новых записей - Контейнер изначально пустой (#payments-container) ИЗМЕНЕНИЯ: orders/templates/orders/order_form.html: - Добавлен блок 'Проведенные платежи' с информационным отображением - Каждый существующий платеж с формой удаления (delete_payment_id) - Контейнер для новых платежей теперь пустой при загрузке - Обновлен calculatePaymentsTotal(): считает существующие + новые - Убраны обработчики для несуществующих элементов formset - Итоговая сумма инициализируется из order.amount_paid orders/views.py (order_update): - Добавлена обработка delete_payment_id из POST - При удалении платежа из кошелька - возврат средств через WalletService - Пересчет amount_paid после удаления - Редирект обратно в форму после удаления РЕЗУЛЬТАТ: ✅ Существующие платежи не валидируются повторно ✅ Можно свободно добавлять новые платежи любым методом ✅ Удаление существующих платежей работает корректно ✅ Возврат в кошелек при удалении платежа 'account_balance' ✅ Правильный подсчет итоговой суммы (существующие + новые)
Description
No description provided
Languages
Python
57%
HTML
32%
JavaScript
9.5%
CSS
1.1%
Shell
0.4%