Исправлено отображение статуса заказов и пагинация истории
- Исправлен баг отображения статуса: теперь сравнение с order.status.code вместо order.status - Добавлена обработка отсутствующего статуса (показывает 'Без статуса') - Пагинация истории заказов: добавлен якорь #ordersHistoryCollapse ко всем ссылкам - Автооткрытие collapse при переходе по пагинации через JavaScript - Плавная прокрутка к секции истории после раскрытия collapse (событие shown.bs.collapse) - Пользователь остаётся в секции истории заказов при переходе между страницами
This commit is contained in:
@@ -292,20 +292,24 @@
|
||||
{% endif %}
|
||||
</td>
|
||||
<td>
|
||||
{% if order.status == 'draft' %}
|
||||
{% if order.status %}
|
||||
{% if order.status.code == 'draft' %}
|
||||
<span class="badge bg-secondary">Черновик</span>
|
||||
{% elif order.status == 'pending' %}
|
||||
{% elif order.status.code == 'pending' %}
|
||||
<span class="badge bg-warning">Ожидает</span>
|
||||
{% elif order.status == 'in_production' %}
|
||||
{% elif order.status.code == 'in_production' %}
|
||||
<span class="badge bg-info">В производстве</span>
|
||||
{% elif order.status == 'ready' %}
|
||||
{% elif order.status.code == 'ready' %}
|
||||
<span class="badge bg-primary">Готов</span>
|
||||
{% elif order.status == 'delivered' %}
|
||||
{% elif order.status.code == 'delivered' %}
|
||||
<span class="badge bg-success">Доставлен</span>
|
||||
{% elif order.status == 'cancelled' %}
|
||||
{% elif order.status.code == 'cancelled' %}
|
||||
<span class="badge bg-danger">Отменён</span>
|
||||
{% else %}
|
||||
<span class="badge bg-secondary">{{ order.get_status_display }}</span>
|
||||
<span class="badge bg-secondary">{{ order.status.name }}</span>
|
||||
{% endif %}
|
||||
{% else %}
|
||||
<span class="badge bg-secondary">Без статуса</span>
|
||||
{% endif %}
|
||||
</td>
|
||||
<td>
|
||||
@@ -352,10 +356,10 @@
|
||||
<ul class="pagination justify-content-center mt-3">
|
||||
{% if orders_page.has_previous %}
|
||||
<li class="page-item">
|
||||
<a class="page-link" href="?page=1">Первая</a>
|
||||
<a class="page-link" href="?page=1#ordersHistoryCollapse">Первая</a>
|
||||
</li>
|
||||
<li class="page-item">
|
||||
<a class="page-link" href="?page={{ orders_page.previous_page_number }}">Предыдущая</a>
|
||||
<a class="page-link" href="?page={{ orders_page.previous_page_number }}#ordersHistoryCollapse">Предыдущая</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
|
||||
@@ -367,10 +371,10 @@
|
||||
|
||||
{% if orders_page.has_next %}
|
||||
<li class="page-item">
|
||||
<a class="page-link" href="?page={{ orders_page.next_page_number }}">Следующая</a>
|
||||
<a class="page-link" href="?page={{ orders_page.next_page_number }}#ordersHistoryCollapse">Следующая</a>
|
||||
</li>
|
||||
<li class="page-item">
|
||||
<a class="page-link" href="?page={{ orders_page.paginator.num_pages }}">Последняя</a>
|
||||
<a class="page-link" href="?page={{ orders_page.paginator.num_pages }}#ordersHistoryCollapse">Последняя</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
@@ -385,4 +389,23 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
// Автооткрытие collapse при наличии якоря в URL
|
||||
document.addEventListener('DOMContentLoaded', function() {
|
||||
const hash = window.location.hash;
|
||||
if (hash === '#ordersHistoryCollapse') {
|
||||
const collapseElement = document.getElementById('ordersHistoryCollapse');
|
||||
if (collapseElement) {
|
||||
const bsCollapse = new bootstrap.Collapse(collapseElement, {
|
||||
show: true
|
||||
});
|
||||
// Прокручиваем к элементу после открытия collapse (с учетом анимации)
|
||||
collapseElement.addEventListener('shown.bs.collapse', function() {
|
||||
collapseElement.scrollIntoView({ behavior: 'smooth', block: 'start' });
|
||||
}, { once: true });
|
||||
}
|
||||
}
|
||||
});
|
||||
</script>
|
||||
{% endblock %}
|
||||
Reference in New Issue
Block a user