Fixing css bugs, Changed booking form, Changed booking input from range to two separated inputs , Change booking view validations
This commit is contained in:
parent
974fdd3419
commit
a7de458a02
5 changed files with 93 additions and 40 deletions
|
|
@ -58,19 +58,54 @@ class BookingBillingForm(BillingAddressForm):
|
|||
|
||||
|
||||
class BookingDateForm(forms.Form):
|
||||
start_date = forms.DateField(required=False, widget=forms.HiddenInput())
|
||||
end_date = forms.DateField(required=False, widget=forms.HiddenInput())
|
||||
date_range = forms.CharField(required=False,
|
||||
widget=forms.TextInput(attrs={'id': 'booking-date-range'}))
|
||||
start_date = forms.DateField(required=False,
|
||||
widget=forms.TextInput(attrs={'id': 'booking-date-1',
|
||||
'value': ''}))
|
||||
end_date = forms.DateField(required=False,
|
||||
widget=forms.TextInput(attrs={'id': 'booking-date-2'}))
|
||||
|
||||
def clean_date_range(self):
|
||||
date_range = self.cleaned_data.get('date_range')
|
||||
dates = date_range.replace(' ', '').split('-')
|
||||
try:
|
||||
start_date, end_date = [datetime.strptime(date_string, "%m/%d/%Y").date()
|
||||
for date_string in dates]
|
||||
except ValueError:
|
||||
raise forms.ValidationError("Submit valid dates.")
|
||||
# def clean_date_range(self):
|
||||
# date_range = self.cleaned_data.get('date_range')
|
||||
# dates = date_range.replace(' ', '').split('-')
|
||||
# try:
|
||||
# start_date, end_date = [datetime.strptime(date_string, "%m/%d/%Y").date()
|
||||
# for date_string in dates]
|
||||
# except ValueError:
|
||||
# raise forms.ValidationError("Submit valid dates.")
|
||||
|
||||
# if start_date > end_date:
|
||||
# raise forms.ValidationError("Your end date must be greather than your start date.")
|
||||
|
||||
# q1 = Q(start_date__lte=start_date, end_date__gte=start_date)
|
||||
# q2 = Q(start_date__gt=start_date, start_date__lte=end_date)
|
||||
# if Booking.objects.filter(q1 | q2).exists():
|
||||
# raise forms.ValidationError("You already have a booking in these dates.")
|
||||
|
||||
# return start_date, end_date
|
||||
|
||||
def clean_start_date(self):
|
||||
start_date = self.cleaned_data.get('start_date')
|
||||
if not start_date:
|
||||
raise forms.ValidationError("This field is required.")
|
||||
# try:
|
||||
# start_date = datetime.strptime(start_date, "%m/%d/%Y").date()
|
||||
# except ValueError:
|
||||
# raise forms.ValidationError("Submit valid dates.")
|
||||
return start_date
|
||||
|
||||
def clean_end_date(self):
|
||||
end_date = self.cleaned_data.get('end_date')
|
||||
if not end_date:
|
||||
raise forms.ValidationError("This field is required.")
|
||||
return end_date
|
||||
|
||||
def clean(self):
|
||||
|
||||
start_date = self.cleaned_data.get('start_date')
|
||||
end_date = self.cleaned_data.get('end_date')
|
||||
|
||||
if not start_date or not end_date:
|
||||
return self.cleaned_data
|
||||
|
||||
if start_date > end_date:
|
||||
raise forms.ValidationError("Your end date must be greather than your start date.")
|
||||
|
|
@ -80,13 +115,4 @@ class BookingDateForm(forms.Form):
|
|||
if Booking.objects.filter(q1 | q2).exists():
|
||||
raise forms.ValidationError("You already have a booking in these dates.")
|
||||
|
||||
return start_date, end_date
|
||||
|
||||
def clean(self):
|
||||
# import pdb
|
||||
# pdb.set_trace()
|
||||
if self.cleaned_data.get('date_range'):
|
||||
start_date, end_date = self.cleaned_data.get('date_range')
|
||||
self.cleaned_data['start_date'] = start_date
|
||||
self.cleaned_data['end_date'] = end_date
|
||||
return self.cleaned_data
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue