refactor: Заменить сущность Магазин (Shop) на Склад (Warehouse)

Упрощена логика системы путём замены отдельной сущности "Магазин"
на универсальную сущность "Склад", которая может использоваться
как точка самовывоза.

Изменения:
- Расширена модель 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>
This commit is contained in:
2025-11-14 23:50:30 +03:00
parent d3ac875a0e
commit 4a4bd437b9
37 changed files with 99 additions and 740 deletions

View File

@@ -3,7 +3,7 @@ from django import forms
from django.forms import inlineformset_factory
from .models import Order, OrderItem, Address, OrderStatus
from customers.models import Customer
from shops.models import Shop
from inventory.models import Warehouse
from products.models import Product, ProductKit
@@ -92,7 +92,7 @@ class OrderForm(forms.ModelForm):
'customer',
'is_delivery',
'delivery_address',
'pickup_shop',
'pickup_warehouse',
'delivery_date',
'delivery_time_start',
'delivery_time_end',
@@ -145,11 +145,11 @@ class OrderForm(forms.ModelForm):
})
self.fields['delivery_address'].required = False
self.fields['pickup_shop'].widget.attrs.update({
self.fields['pickup_warehouse'].widget.attrs.update({
'class': 'form-select select2',
'data-placeholder': 'Выберите точку самовывоза'
'data-placeholder': 'Выберите склад для самовывоза'
})
self.fields['pickup_shop'].required = False
self.fields['pickup_warehouse'].required = False
# Опциональные поля даты/времени
self.fields['delivery_date'].required = False