fix: Исправить отображение статусов заказов в списке
Изменения:
- Заменено жёсткое кодирование статусов ('draft', 'new' и т.д.) на динамическое отображение из OrderStatus объекта
- Теперь статусы берут цвет (color) и название (label/name) из модели OrderStatus
- Обновлена логика отображения статуса оплаты: заменено payment_status на is_paid и amount_paid
- Добавлены иконки для наглядности (check-circle, exclamation-circle, x-circle)
- Для частичной оплаты теперь показывается сумма уже оплаченного
Это позволяет:
- Добавлять новые статусы без изменения шаблона
- Менять цвета статусов через admin панель
- Использовать правильные поля из модели Order
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -130,32 +130,28 @@
|
||||
{% endif %}
|
||||
</td>
|
||||
<td>
|
||||
{% if order.status == 'draft' %}
|
||||
<span class="badge bg-secondary">
|
||||
<i class="bi bi-pencil"></i> Черновик
|
||||
{% if order.status %}
|
||||
<span class="badge" style="background-color: {{ order.status.color }}; color: #fff;">
|
||||
{{ order.status.label|default:order.status.name }}
|
||||
</span>
|
||||
{% elif order.status == 'new' %}
|
||||
<span class="badge bg-primary">Новый</span>
|
||||
{% elif order.status == 'confirmed' %}
|
||||
<span class="badge bg-success">Подтвержден</span>
|
||||
{% elif order.status == 'in_assembly' %}
|
||||
<span class="badge bg-warning">В сборке</span>
|
||||
{% elif order.status == 'in_delivery' %}
|
||||
<span class="badge bg-info">В доставке</span>
|
||||
{% elif order.status == 'delivered' %}
|
||||
<span class="badge bg-success">Доставлен</span>
|
||||
{% elif order.status == 'cancelled' %}
|
||||
<span class="badge bg-danger">Отменен</span>
|
||||
{% else %}
|
||||
<span class="badge bg-secondary">Не установлен</span>
|
||||
{% endif %}
|
||||
</td>
|
||||
<td><strong>{{ order.total_amount }} руб.</strong></td>
|
||||
<td>
|
||||
{% if order.payment_status == 'paid' %}
|
||||
<span class="badge bg-success">Оплачен</span>
|
||||
{% elif order.payment_status == 'partial' %}
|
||||
<span class="badge bg-warning">Частично</span>
|
||||
{% if order.is_paid %}
|
||||
<span class="badge bg-success">
|
||||
<i class="bi bi-check-circle"></i> Оплачен
|
||||
</span>
|
||||
{% elif order.amount_paid > 0 %}
|
||||
<span class="badge bg-warning">
|
||||
<i class="bi bi-exclamation-circle"></i> Частично ({{ order.amount_paid }} руб.)
|
||||
</span>
|
||||
{% else %}
|
||||
<span class="badge bg-danger">Не оплачен</span>
|
||||
<span class="badge bg-danger">
|
||||
<i class="bi bi-x-circle"></i> Не оплачен
|
||||
</span>
|
||||
{% endif %}
|
||||
</td>
|
||||
<td>
|
||||
|
||||
Reference in New Issue
Block a user