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:
2025-11-15 15:40:21 +03:00
parent 7132d2c910
commit 1f561ac429

View File

@@ -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>