Исправлено время заказов: переход на минский часовой пояс (Europe/Minsk)
- Изменён TIME_ZONE с Europe/Moscow на Europe/Minsk в settings.py - Исправлено создание заказов в POS: теперь используется timezone.localtime() для корректной конвертации UTC → Minsk - delivery_date и delivery_time_start/end теперь сохраняются в минском времени, а не UTC - Исправлена разница в 3 часа между временем создания заказа и фактическим временем - Удалено устаревшее поле payment_method из showcase_manager.py (поле было удалено из модели Order) Теперь все временные метки заказов соответствуют реальному минскому времени
This commit is contained in:
@@ -277,7 +277,6 @@ class ShowcaseManager:
|
|||||||
is_delivery=False,
|
is_delivery=False,
|
||||||
pickup_warehouse=warehouse,
|
pickup_warehouse=warehouse,
|
||||||
status=completed_status,
|
status=completed_status,
|
||||||
payment_method=payment_method,
|
|
||||||
is_paid=True,
|
is_paid=True,
|
||||||
modified_by=user
|
modified_by=user
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -211,7 +211,7 @@ AUTH_PASSWORD_VALIDATORS = [
|
|||||||
# ============================================
|
# ============================================
|
||||||
|
|
||||||
LANGUAGE_CODE = 'ru-ru'
|
LANGUAGE_CODE = 'ru-ru'
|
||||||
TIME_ZONE = 'Europe/Moscow'
|
TIME_ZONE = 'Europe/Minsk'
|
||||||
USE_I18N = True
|
USE_I18N = True
|
||||||
USE_TZ = True
|
USE_TZ = True
|
||||||
|
|
||||||
|
|||||||
@@ -1408,16 +1408,19 @@ def pos_checkout(request):
|
|||||||
|
|
||||||
# Атомарная операция
|
# Атомарная операция
|
||||||
with db_transaction.atomic():
|
with db_transaction.atomic():
|
||||||
# 1. Создаём заказ с автоматическим проставлением текущей даты и времени
|
# 1. Создаём заказ с текущей датой и временем в локальном часовом поясе (Europe/Minsk)
|
||||||
now = timezone.now()
|
from django.utils import timezone as tz
|
||||||
current_time = now.time()
|
now_utc = tz.now() # Текущее время в UTC
|
||||||
|
now_local = tz.localtime(now_utc) # Конвертируем в локальный часовой пояс (Europe/Minsk)
|
||||||
|
current_time = now_local.time() # Извлекаем время в минском часовом поясе
|
||||||
|
|
||||||
order = Order.objects.create(
|
order = Order.objects.create(
|
||||||
customer=customer,
|
customer=customer,
|
||||||
is_delivery=False, # POS - всегда самовывоз
|
is_delivery=False, # POS - всегда самовывоз
|
||||||
pickup_warehouse=warehouse,
|
pickup_warehouse=warehouse,
|
||||||
status=completed_status, # Сразу "Выполнен"
|
status=completed_status, # Сразу "Выполнен"
|
||||||
delivery_date=now.date(), # Текущая дата
|
delivery_date=now_local.date(), # Текущая дата в минском часовом поясе
|
||||||
delivery_time_start=current_time, # Текущее время
|
delivery_time_start=current_time, # Текущее время (Минск)
|
||||||
delivery_time_end=current_time, # То же время (точное время)
|
delivery_time_end=current_time, # То же время (точное время)
|
||||||
special_instructions=order_notes,
|
special_instructions=order_notes,
|
||||||
modified_by=request.user
|
modified_by=request.user
|
||||||
|
|||||||
Reference in New Issue
Block a user