Fixed Error on Allowed booking days by user
This commit is contained in:
		
					parent
					
						
							
								e1a43f1d29
							
						
					
				
			
			
				commit
				
					
						a44e4f4733
					
				
			
		
					 2 changed files with 13 additions and 3 deletions
				
			
		|  | @ -81,6 +81,10 @@ class BookingDateForm(forms.Form): | ||||||
|     end_date = forms.DateField(required=False, |     end_date = forms.DateField(required=False, | ||||||
|                                widget=forms.TextInput(attrs={'id': 'booking-date-2'})) |                                widget=forms.TextInput(attrs={'id': 'booking-date-2'})) | ||||||
| 
 | 
 | ||||||
|  |     def __init__(self, *args, **kwargs): | ||||||
|  |         self.user = kwargs.pop('user') | ||||||
|  |         super(BookingDateForm, self).__init__(*args, **kwargs) | ||||||
|  | 
 | ||||||
|     def clean_start_date(self): |     def clean_start_date(self): | ||||||
|         start_date = self.cleaned_data.get('start_date') |         start_date = self.cleaned_data.get('start_date') | ||||||
|         if not start_date: |         if not start_date: | ||||||
|  | @ -94,7 +98,6 @@ class BookingDateForm(forms.Form): | ||||||
|         return end_date |         return end_date | ||||||
| 
 | 
 | ||||||
|     def clean(self): |     def clean(self): | ||||||
| 
 |  | ||||||
|         start_date = self.cleaned_data.get('start_date') |         start_date = self.cleaned_data.get('start_date') | ||||||
|         end_date = self.cleaned_data.get('end_date') |         end_date = self.cleaned_data.get('end_date') | ||||||
| 
 | 
 | ||||||
|  | @ -104,8 +107,10 @@ class BookingDateForm(forms.Form): | ||||||
|         if start_date > end_date: |         if start_date > end_date: | ||||||
|             raise forms.ValidationError("Your end date must be greather than your start 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) |         q1 = Q(bookingorder__customer__user=self.user, | ||||||
|         q2 = Q(start_date__gt=start_date, start_date__lte=end_date) |                start_date__lte=start_date, end_date__gte=start_date) | ||||||
|  |         q2 = Q(bookingorder__customer__user=self.user, | ||||||
|  |                start_date__gt=start_date, start_date__lte=end_date) | ||||||
|         if Booking.objects.filter(q1 | q2).exists(): |         if Booking.objects.filter(q1 | q2).exists(): | ||||||
|             raise forms.ValidationError("You already have a booking in these dates.") |             raise forms.ValidationError("You already have a booking in these dates.") | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -96,6 +96,11 @@ class BookingSelectDatesView(LoginRequiredMixin, MembershipRequiredMixin, FormVi | ||||||
|     login_url = reverse_lazy('digitalglarus:login') |     login_url = reverse_lazy('digitalglarus:login') | ||||||
|     success_url = reverse_lazy('digitalglarus:booking_payment') |     success_url = reverse_lazy('digitalglarus:booking_payment') | ||||||
| 
 | 
 | ||||||
|  |     def get_form_kwargs(self): | ||||||
|  |         kwargs = super(BookingSelectDatesView, self).get_form_kwargs() | ||||||
|  |         kwargs.update({'user': self.request.user}) | ||||||
|  |         return kwargs | ||||||
|  | 
 | ||||||
|     def form_valid(self, form): |     def form_valid(self, form): | ||||||
|         user = self.request.user |         user = self.request.user | ||||||
|         start_date = form.cleaned_data.get('start_date') |         start_date = form.cleaned_data.get('start_date') | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue