Упрощена логика системы путём замены отдельной сущности "Магазин" на универсальную сущность "Склад", которая может использоваться как точка самовывоза. Изменения: - Расширена модель Warehouse: добавлены адрес, контакты, флаг is_pickup_point - Модель Order: поле pickup_shop заменено на pickup_warehouse - Обновлены все формы, сервисы, views, admin для работы со складами - Обновлены шаблоны HTML и JavaScript код - Удалено приложение shops полностью - Пересозданы миграции БД - Обновлён навбар (удалена ссылка на магазины) Преимущества: - Упрощена архитектура системы - Единая точка управления складами и точками самовывоза - Интеграция с системой инвентаризации 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
76 lines
4.6 KiB
HTML
76 lines
4.6 KiB
HTML
<!-- navbar.html - Reusable navigation bar component -->
|
||
<style>
|
||
.navbar .dropdown:hover > .dropdown-menu {
|
||
display: block;
|
||
margin-top: 0;
|
||
}
|
||
</style>
|
||
<nav class="navbar navbar-expand-lg navbar-light bg-light fixed-top">
|
||
<div class="container">
|
||
<!-- Toggler for mobile view -->
|
||
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav"
|
||
aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
|
||
<span class="navbar-toggler-icon"></span>
|
||
</button>
|
||
|
||
<!-- Navbar content -->
|
||
<div class="collapse navbar-collapse" id="navbarNav">
|
||
<ul class="navbar-nav me-auto">
|
||
{% if user.is_authenticated %}
|
||
<!-- Main navigation links -->
|
||
<li class="nav-item">
|
||
<a class="nav-link {% if request.resolver_match.namespace == 'products' and request.resolver_match.url_name in 'all-products,product-list,productkit-list,product-detail,product-create,product-update,productkit-detail,productkit-create,productkit-update' %}active{% endif %}" href="{% url 'products:all-products' %}">Товары</a>
|
||
</li>
|
||
<li class="nav-item">
|
||
<a class="nav-link {% if request.resolver_match.namespace == 'products' and 'variantgroup' in request.resolver_match.url_name %}active{% endif %}" href="{% url 'products:variantgroup-list' %}">Варианты</a>
|
||
</li>
|
||
<li class="nav-item">
|
||
<a class="nav-link {% if request.resolver_match.namespace == 'products' and 'tag' in request.resolver_match.url_name %}active{% endif %}" href="{% url 'products:tag-list' %}">Теги</a>
|
||
</li>
|
||
<li class="nav-item dropdown">
|
||
<a class="nav-link dropdown-toggle {% if request.resolver_match.namespace == 'orders' %}active{% endif %}" href="{% url 'orders:order-list' %}" id="ordersDropdown">Заказы</a>
|
||
<ul class="dropdown-menu" aria-labelledby="ordersDropdown">
|
||
<li><a class="dropdown-item" href="{% url 'orders:order-list' %}">Список заказов</a></li>
|
||
<li><hr class="dropdown-divider"></li>
|
||
<li><a class="dropdown-item" href="{% url 'orders:status_list' %}">Статусы заказов</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="nav-item">
|
||
<a class="nav-link {% if request.resolver_match.namespace == 'customers' %}active{% endif %}" href="{% url 'customers:customer-list' %}">Клиенты</a>
|
||
</li>
|
||
<li class="nav-item">
|
||
<a class="nav-link disabled" href="#" tabindex="-1" aria-disabled="true">Касса</a>
|
||
</li>
|
||
<li class="nav-item">
|
||
<a class="nav-link {% if request.resolver_match.namespace == 'inventory' %}active{% endif %}" href="{% url 'inventory:inventory-home' %}">Склад</a>
|
||
</li>
|
||
{% endif %}
|
||
</ul>
|
||
|
||
<ul class="navbar-nav align-items-center">
|
||
{% if user.is_authenticated %}
|
||
<!-- Show profile button and logout button for authenticated users -->
|
||
<li class="nav-item">
|
||
<a class="btn btn-outline-primary me-2" href="{% url 'accounts:profile' %}">Профиль</a>
|
||
</li>
|
||
<li class="nav-item d-flex align-items-center mx-2">
|
||
<span class="navbar-text mb-0">
|
||
({{ user.name|default:user.email }})
|
||
</span>
|
||
</li>
|
||
<li class="nav-item">
|
||
<a class="btn btn-outline-secondary ms-2" href="{% url 'accounts:logout' %}">Выйти</a>
|
||
</li>
|
||
{% else %}
|
||
<!-- Show login and register buttons for non-authenticated users -->
|
||
<li class="nav-item">
|
||
<a class="btn btn-outline-primary me-2" href="{% url 'accounts:login' %}">Вход</a>
|
||
</li>
|
||
<li class="nav-item">
|
||
<a class="btn btn-outline-secondary" href="{% url 'accounts:register' %}">Регистрация</a>
|
||
</li>
|
||
{% endif %}
|
||
</ul>
|
||
</div>
|
||
</div>
|
||
</nav> |