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