Уточнение UI возвратов: пометка метода кошелька и корректный текст предупреждения
Изменения: - Добавлена пометка '(кошелёк клиента)' к методу оплаты с кодом account_balance в селектах платежа и возврата - Обновлён текст предупреждения о возврате: теперь явно указано, что зачисление в кошелёк происходит только при выборе метода 'кошелёк клиента' - Для всех остальных методов (наличные, карта и т.п.) возврат — это информационная метка для истории, без фактического движения средств Цель: - Устранить путаницу операторов относительно поведения возвратов - Чётко разделить возврат клиенту (внешними способами) и зачисление в кошелёк (только для account_balance) - UI теперь соответствует фактической серверной логике в Transaction.save() Защита от переплаты: - Серверная валидация в TransactionService.create_refund проверяет amount <= order.amount_paid - UI ограничение max на поле ввода суммы возврата - ValidationError с понятным сообщением при попытке превысить лимит
This commit is contained in:
@@ -732,7 +732,7 @@
|
|||||||
{% load orders_tags %}
|
{% load orders_tags %}
|
||||||
{% get_payment_methods as payment_methods %}
|
{% get_payment_methods as payment_methods %}
|
||||||
{% for pm in payment_methods %}
|
{% for pm in payment_methods %}
|
||||||
<option value="{{ pm.id }}">{{ pm.name }}</option>
|
<option value="{{ pm.id }}">{{ pm.name }}{% if pm.code == 'account_balance' %} (кошелёк клиента){% endif %}</option>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
@@ -771,7 +771,7 @@
|
|||||||
<div class="alert alert-warning mb-3">
|
<div class="alert alert-warning mb-3">
|
||||||
<i class="bi bi-exclamation-triangle"></i>
|
<i class="bi bi-exclamation-triangle"></i>
|
||||||
<strong>Возврат средств клиенту</strong><br>
|
<strong>Возврат средств клиенту</strong><br>
|
||||||
<small>Можно вернуть любую сумму до {{ order.amount_paid|floatformat:2 }} руб. Возврат на кошелёк произойдёт автоматически при выборе соответствующего способа оплаты.</small>
|
<small>Можно вернуть любую сумму до {{ order.amount_paid|floatformat:2 }} руб. Выберите способ возврата (обычно соответствует способу оплаты). Зачисление в кошелёк клиента произойдёт только при выборе метода «кошелёк клиента».</small>
|
||||||
</div>
|
</div>
|
||||||
<div class="row align-items-end">
|
<div class="row align-items-end">
|
||||||
<div class="col-12 mb-2">
|
<div class="col-12 mb-2">
|
||||||
@@ -781,7 +781,7 @@
|
|||||||
{% load orders_tags %}
|
{% load orders_tags %}
|
||||||
{% get_payment_methods as payment_methods %}
|
{% get_payment_methods as payment_methods %}
|
||||||
{% for pm in payment_methods %}
|
{% for pm in payment_methods %}
|
||||||
<option value="{{ pm.id }}">{{ pm.name }}</option>
|
<option value="{{ pm.id }}">{{ pm.name }}{% if pm.code == 'account_balance' %} (кошелёк клиента){% endif %}</option>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user