Смягчена валидация времени доставки: разрешены равные времена начала и окончания

- Изменена проверка с >= на > в Delivery.clean()

- Равные времена разрешены для POS-продаж (самовывоз в точное время)

- Обновлены сообщения об ошибках валидации
This commit is contained in:
2026-01-02 17:47:30 +03:00
parent 275bc1b78d
commit eab4f8a4ae

View File

@@ -124,9 +124,9 @@ class Delivery(models.Model):
# Для черновиков пропускаем строгую валидацию # Для черновиков пропускаем строгую валидацию
if self.order and self.order.status and hasattr(self.order.status, 'code') and self.order.status.code == 'draft': if self.order and self.order.status and hasattr(self.order.status, 'code') and self.order.status.code == 'draft':
# Для черновиков только проверяем время, если оно указано # Для черновиков только проверяем время, если оно указано
if self.time_from and self.time_to and self.time_from >= self.time_to: if self.time_from and self.time_to and self.time_from > self.time_to:
raise ValidationError({ raise ValidationError({
'time_to': 'Время окончания доставки должно быть позже времени начала' 'time_to': 'Время окончания доставки не может быть раньше времени начала'
}) })
return return
@@ -153,10 +153,10 @@ class Delivery(models.Model):
'address': 'Для самовывоза адрес не указывается' 'address': 'Для самовывоза адрес не указывается'
}) })
# Проверка: время "до" должно быть позже времени "от" # Проверка: время "до" не может быть раньше времени "от" (равные времена разрешены для POS)
if self.time_from and self.time_to and self.time_from >= self.time_to: if self.time_from and self.time_to and self.time_from > self.time_to:
raise ValidationError({ raise ValidationError({
'time_to': 'Время окончания доставки должно быть позже времени начала' 'time_to': 'Время окончания доставки не может быть раньше времени начала'
}) })
def save(self, *args, **kwargs): def save(self, *args, **kwargs):