Добавлена функциональность редактирования заказов с обновлением резервов товаров
This commit is contained in:
@@ -263,23 +263,18 @@ class Order(models.Model):
|
||||
"""Валидация модели"""
|
||||
super().clean()
|
||||
|
||||
# Проверка: для доставки обязателен адрес
|
||||
if self.is_delivery and not self.delivery_address:
|
||||
raise ValidationError({
|
||||
'delivery_address': 'Для доставки необходимо указать адрес доставки'
|
||||
})
|
||||
|
||||
# Проверка: для самовывоза обязателен склад
|
||||
if not self.is_delivery and not self.pickup_warehouse:
|
||||
raise ValidationError({
|
||||
'pickup_warehouse': 'Для самовывоза необходимо выбрать склад'
|
||||
})
|
||||
|
||||
# Проверка: время окончания должно быть позже времени начала
|
||||
# Проверка: время окончания должно быть позже или равно времени начала
|
||||
# Равные времена означают точное время доставки (например, "к 13:00")
|
||||
if self.delivery_time_start and self.delivery_time_end:
|
||||
if self.delivery_time_end <= self.delivery_time_start:
|
||||
if self.delivery_time_end < self.delivery_time_start:
|
||||
raise ValidationError({
|
||||
'delivery_time_end': 'Время окончания должно быть позже времени начала'
|
||||
'delivery_time_end': 'Время окончания не может быть раньше времени начала'
|
||||
})
|
||||
|
||||
def get_delivery_cost(self):
|
||||
@@ -384,5 +379,8 @@ class Order(models.Model):
|
||||
def delivery_time_window(self):
|
||||
"""Временное окно доставки"""
|
||||
if self.delivery_time_start and self.delivery_time_end:
|
||||
# Если времена равны - это точное время доставки
|
||||
if self.delivery_time_start == self.delivery_time_end:
|
||||
return f"к {self.delivery_time_start.strftime('%H:%M')}"
|
||||
return f"{self.delivery_time_start.strftime('%H:%M')} - {self.delivery_time_end.strftime('%H:%M')}"
|
||||
return "Время не указано"
|
||||
|
||||
Reference in New Issue
Block a user