Исправлено отображение статуса заказов и пагинация истории
- Исправлен баг отображения статуса: теперь сравнение с order.status.code вместо order.status - Добавлена обработка отсутствующего статуса (показывает 'Без статуса') - Пагинация истории заказов: добавлен якорь #ordersHistoryCollapse ко всем ссылкам - Автооткрытие collapse при переходе по пагинации через JavaScript - Плавная прокрутка к секции истории после раскрытия collapse (событие shown.bs.collapse) - Пользователь остаётся в секции истории заказов при переходе между страницами
This commit is contained in:
@@ -292,20 +292,24 @@
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
{% if order.status == 'draft' %}
|
{% if order.status %}
|
||||||
<span class="badge bg-secondary">Черновик</span>
|
{% if order.status.code == 'draft' %}
|
||||||
{% elif order.status == 'pending' %}
|
<span class="badge bg-secondary">Черновик</span>
|
||||||
<span class="badge bg-warning">Ожидает</span>
|
{% elif order.status.code == 'pending' %}
|
||||||
{% elif order.status == 'in_production' %}
|
<span class="badge bg-warning">Ожидает</span>
|
||||||
<span class="badge bg-info">В производстве</span>
|
{% elif order.status.code == 'in_production' %}
|
||||||
{% elif order.status == 'ready' %}
|
<span class="badge bg-info">В производстве</span>
|
||||||
<span class="badge bg-primary">Готов</span>
|
{% elif order.status.code == 'ready' %}
|
||||||
{% elif order.status == 'delivered' %}
|
<span class="badge bg-primary">Готов</span>
|
||||||
<span class="badge bg-success">Доставлен</span>
|
{% elif order.status.code == 'delivered' %}
|
||||||
{% elif order.status == 'cancelled' %}
|
<span class="badge bg-success">Доставлен</span>
|
||||||
<span class="badge bg-danger">Отменён</span>
|
{% elif order.status.code == 'cancelled' %}
|
||||||
|
<span class="badge bg-danger">Отменён</span>
|
||||||
|
{% else %}
|
||||||
|
<span class="badge bg-secondary">{{ order.status.name }}</span>
|
||||||
|
{% endif %}
|
||||||
{% else %}
|
{% else %}
|
||||||
<span class="badge bg-secondary">{{ order.get_status_display }}</span>
|
<span class="badge bg-secondary">Без статуса</span>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
@@ -352,10 +356,10 @@
|
|||||||
<ul class="pagination justify-content-center mt-3">
|
<ul class="pagination justify-content-center mt-3">
|
||||||
{% if orders_page.has_previous %}
|
{% if orders_page.has_previous %}
|
||||||
<li class="page-item">
|
<li class="page-item">
|
||||||
<a class="page-link" href="?page=1">Первая</a>
|
<a class="page-link" href="?page=1#ordersHistoryCollapse">Первая</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="page-item">
|
<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>
|
</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
@@ -367,10 +371,10 @@
|
|||||||
|
|
||||||
{% if orders_page.has_next %}
|
{% if orders_page.has_next %}
|
||||||
<li class="page-item">
|
<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>
|
||||||
<li class="page-item">
|
<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>
|
</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</ul>
|
</ul>
|
||||||
@@ -385,4 +389,23 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</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 %}
|
{% endblock %}
|
||||||
Reference in New Issue
Block a user