Исправлена логика продажи витринных комплектов через 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:
@@ -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