Files
octopus/myproject/templates/navbar.html
Andrey Smakotin c4260f6b1c Добавлена модель атрибутов для вариативных товаров (ConfigurableKitProductAttribute)
- Создана модель ConfigurableKitProductAttribute с полями name, option, position, visible
- Добавлены формы и formsets для управления атрибутами родительского товара
- Обновлены CRUD представления для работы с атрибутами (создание/редактирование)
- Добавлен блок атрибутов в шаблоны создания/редактирования
- Обновлена страница детального просмотра с отображением атрибутов товара
- Добавлен JavaScript для динамического добавления форм атрибутов
- Реализована валидация дубликатов атрибутов в formset
- Атрибуты сохраняются в transaction.atomic() вместе с вариантами

Теперь можно определять схему атрибутов для экспорта на WooCommerce без использования JSON или ID, только name и option.
2025-11-18 09:24:49 +03:00

79 lines
4.9 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!-- 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 'configurablekit' in request.resolver_match.url_name %}active{% endif %}" href="{% url 'products:configurablekit-list' %}">Вариативные товары</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 {% if request.resolver_match.namespace == 'pos' %}active{% endif %}" href="{% url 'pos:terminal' %}">Касса</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>