Улучшения в моделях заказов и комплектов

## Изменения:

### 1. ProductKit - расчет цены для вариантов товаров
- Добавлена обработка variant_group в методах расчета base_price
- Теперь учитываются варианты товаров при расчете стоимости комплекта

### 2. DraftOrderService - упрощение логики автосохранения
- Удалена проверка is_draft() при обновлении (позволяет обновлять заказы в других статусах)
- Улучшена документация метода update_draft

### 3. Шаблоны и скрипты
- Обновлены шаблоны форм создания/редактирования комплектов
- Обновлены скрипты автосохранения

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-11-12 11:34:06 +03:00
parent 77064a274f
commit 46578382b0
9 changed files with 203 additions and 68 deletions

View File

@@ -102,15 +102,6 @@
<div class="col">
<h1>{{ title }}</h1>
</div>
<div class="col-auto me-3 d-flex align-items-end gap-2">
<label for="{{ form.status.id_for_label }}" class="form-label mb-0" style="white-space: nowrap;">Статус:</label>
<div style="min-width: 200px;">
{{ form.status }}
{% if form.status.errors %}
<div class="text-danger small">{{ form.status.errors }}</div>
{% endif %}
</div>
</div>
<div class="col-auto">
<a href="{% url 'orders:order-list' %}" class="btn btn-secondary">
<i class="bi bi-arrow-left"></i> Назад к списку
@@ -139,6 +130,17 @@
{% endif %}
</div>
</div>
<div class="col-md-6">
<div class="mb-3">
<label for="{{ form.status.id_for_label }}" class="form-label">
Статус <span class="text-danger">*</span>
</label>
{{ form.status }}
{% if form.status.errors %}
<div class="text-danger">{{ form.status.errors }}</div>
{% endif %}
</div>
</div>
</div>
</div>
</div>
@@ -1674,12 +1676,12 @@ if (!document.getElementById('notification-styles')) {
</div>
</div>
<!-- Скрипты автосохранения -->
{% if is_draft %}
<!-- Автосохранение для черновиков -->
<!-- Скрипты автосохранения и создания черновиков -->
{% if order %}
<!-- Автосохранение при редактировании заказа -->
<script src="{% static 'orders/js/autosave.js' %}"></script>
{% else %}
<!-- Автосоздание черновика при создании заказа -->
<!-- Автосоздание черновика при создании нового заказа -->
<script src="{% static 'orders/js/draft-creator.js' %}"></script>
{% endif %}
{% endblock %}