Улучшен интерфейс ввода даты и времени доставки
- Исправлены имена полей времени (time_from/time_to вместо delivery_time_start/end) - Поля времени сделаны необязательными (дата остается обязательной) - Добавлен улучшенный UI с быстрыми кнопками для даты и времени - Поля ввода расположены в один ряд, кнопки быстрого выбора ниже - Добавлены CSS и JS файлы для улучшенного интерфейса - Обновлена валидация: время необязательно, но если указано одно - должно быть и другое
This commit is contained in:
@@ -146,13 +146,13 @@ class OrderForm(forms.ModelForm):
|
||||
)
|
||||
|
||||
time_from = forms.TimeField(
|
||||
required=True,
|
||||
required=False,
|
||||
widget=forms.TimeInput(attrs={'class': 'form-control', 'type': 'time'}),
|
||||
label='Время доставки от'
|
||||
)
|
||||
|
||||
time_to = forms.TimeField(
|
||||
required=True,
|
||||
required=False,
|
||||
widget=forms.TimeInput(attrs={'class': 'form-control', 'type': 'time'}),
|
||||
label='Время доставки до'
|
||||
)
|
||||
@@ -321,13 +321,13 @@ class OrderForm(forms.ModelForm):
|
||||
if not delivery_date:
|
||||
raise forms.ValidationError({'delivery_date': 'Необходимо указать дату доставки'})
|
||||
|
||||
if not time_from:
|
||||
raise forms.ValidationError({'time_from': 'Необходимо указать время начала доставки'})
|
||||
# Время необязательно, но если указано одно, должно быть указано и другое
|
||||
if (time_from and not time_to) or (time_to and not time_from):
|
||||
raise forms.ValidationError({
|
||||
'time_to': 'Если указано время начала, необходимо указать и время окончания, и наоборот'
|
||||
})
|
||||
|
||||
if not time_to:
|
||||
raise forms.ValidationError({'time_to': 'Необходимо указать время окончания доставки'})
|
||||
|
||||
# Проверяем, что время "до" позже времени "от"
|
||||
# Проверяем, что время "до" позже времени "от" (если оба указаны)
|
||||
if time_from and time_to and time_from >= time_to:
|
||||
raise forms.ValidationError({
|
||||
'time_to': 'Время окончания доставки должно быть позже времени начала'
|
||||
|
||||
Reference in New Issue
Block a user