feat: Добавлена функциональность управления заказами и улучшен поиск товаров

Заказы:
- Добавлены миграции для исторических записей с полями оплаты и получателя
- Расширен admin для заказов с инлайнами товаров/комплектов
- Реализованы представления списка, создания, редактирования и удаления заказов
- Добавлен шаблон подтверждения удаления заказа
- Настроены URL-маршруты для работы с заказами

Клиенты:
- Добавлена миграция с новыми полями адресов и подтверждений
- Обновлена модель клиентов с дополнительными полями
- Улучшен admin для работы с клиентами

Товары:
- Значительно улучшен API поиска товаров с поддержкой фильтрации
- Добавлен Select2 виджет для динамического поиска товаров
- Создан статический JS файл для интеграции Select2
- Оптимизирована обработка запросов и ответов API

Прочее:
- Добавлены новые настройки в settings.py
- Обновлена навигация в navbar.html
- Обновлены URL-маршруты проекта

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-11-07 16:10:19 +03:00
parent a1dfb6a257
commit ec0557c8cf
15 changed files with 974 additions and 70 deletions

View File

@@ -0,0 +1,66 @@
{% extends 'base.html' %}
{% block title %}Подтверждение удаления заказа{% endblock %}
{% block content %}
<div class="container">
<div class="row justify-content-center">
<div class="col-md-8">
<div class="card mt-5">
<div class="card-header bg-danger text-white">
<h4 class="mb-0">
<i class="bi bi-exclamation-triangle"></i> Подтверждение удаления
</h4>
</div>
<div class="card-body">
<div class="alert alert-warning">
<i class="bi bi-exclamation-circle"></i>
<strong>Внимание!</strong> Вы собираетесь удалить заказ.
</div>
<h5>Заказ {{ order.order_number }}</h5>
<dl class="row mt-3">
<dt class="col-sm-4">Клиент:</dt>
<dd class="col-sm-8">{{ order.customer.name }}</dd>
<dt class="col-sm-4">Дата создания:</dt>
<dd class="col-sm-8">{{ order.created_at|date:"d.m.Y H:i" }}</dd>
<dt class="col-sm-4">Статус:</dt>
<dd class="col-sm-8">{{ order.get_status_display }}</dd>
<dt class="col-sm-4">Сумма заказа:</dt>
<dd class="col-sm-8"><strong>{{ order.total_amount }} руб.</strong></dd>
<dt class="col-sm-4">Товаров в заказе:</dt>
<dd class="col-sm-8">{{ order.items.count }}</dd>
</dl>
<div class="alert alert-danger mt-3">
<strong>Это действие нельзя отменить!</strong><br>
Будут удалены все связанные данные:
<ul class="mb-0 mt-2">
<li>Все позиции заказа ({{ order.items.count }} шт.)</li>
<li>История платежей ({{ order.payments.count }} записей)</li>
<li>История изменений заказа</li>
</ul>
</div>
<form method="post" class="mt-4">
{% csrf_token %}
<div class="d-flex justify-content-between">
<a href="{% url 'orders:order-detail' order.pk %}" class="btn btn-secondary btn-lg">
<i class="bi bi-arrow-left"></i> Отмена
</a>
<button type="submit" class="btn btn-danger btn-lg">
<i class="bi bi-trash"></i> Да, удалить заказ
</button>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
{% endblock %}