Исправлена логика продажи витринных комплектов через POS
- Добавлена специальная обработка витринных комплектов в сигнале update_reservation_on_item_change: * При создании OrderItem с витринным комплектом привязываются существующие витринные резервы компонентов * Не создаются новые резервы на уровне комплекта - Исправлена логика создания Sale для комплектов в сигнале create_sale_on_order_completion: * Для комплектов (витринных и обычных) создаются Sale для каждого компонента через резервы * Используется FIFO-списание для компонентов * Предотвращена ошибка передачи ProductKit в поле Reservation.product Fixes: Cannot assign ProductKit to Reservation.product field Fixes: Не удалось создать Sale для заказа с витринным комплектом
This commit is contained in:
@@ -288,8 +288,12 @@ class TenantRegistrationAdmin(admin.ModelAdmin):
|
||||
)
|
||||
logger.info(f"Тенант создан: {client.id}")
|
||||
|
||||
# Создаем домен (для локальной разработки используем localhost)
|
||||
domain_name = f"{registration.schema_name}.localhost"
|
||||
# Создаем домен (динамически определяется из настроек)
|
||||
# Локально: schema_name.localhost:8000
|
||||
# Продакшен: schema_name.mix.smaa.by
|
||||
from django.conf import settings
|
||||
domain_base = settings.TENANT_DOMAIN_BASE
|
||||
domain_name = f"{registration.schema_name}.{domain_base}"
|
||||
logger.info(f"Создание домена: {domain_name}")
|
||||
domain = Domain.objects.create(
|
||||
domain=domain_name,
|
||||
|
||||
@@ -21,10 +21,17 @@ def send_password_setup_email(registration):
|
||||
registration.password_setup_token = uuid.uuid4()
|
||||
registration.password_setup_token_created_at = timezone.now()
|
||||
|
||||
# Построить URL
|
||||
# В продакшене это будет полный URL с доменом
|
||||
setup_url = f"http://localhost:8000/accounts/setup-password/{registration.password_setup_token}/"
|
||||
tenant_url = f"http://{registration.schema_name}.localhost:8000/"
|
||||
# Построить URL динамически в зависимости от окружения
|
||||
# Локально: http://localhost:8000
|
||||
# Продакшен: https://mix.smaa.by
|
||||
protocol = 'https' if settings.USE_HTTPS else 'http'
|
||||
domain_base = settings.TENANT_DOMAIN_BASE # localhost:8000 или mix.smaa.by
|
||||
|
||||
# URL для установки пароля (главный домен)
|
||||
setup_url = f"{protocol}://{domain_base}/accounts/setup-password/{registration.password_setup_token}/"
|
||||
|
||||
# URL тенанта (поддомен)
|
||||
tenant_url = f"{protocol}://{registration.schema_name}.{domain_base}/"
|
||||
|
||||
# Составить письмо
|
||||
subject = f"Ваш магазин {registration.shop_name} активирован!"
|
||||
|
||||
Reference in New Issue
Block a user