def post(self, request, *args, **kwargs): category = self.kwargs.get('category', None) room_list = Room.objects.filter(category=category) form = AvailabilityForm(request.POST) if form.is_valid(): data = form.cleaned_data available_rooms = [] for room in room_list: if check_availability(room, data['check_in'], data['check_out']): available_rooms.append(room) if len(available_rooms) > 0: room = available_rooms[0] booking = Booking.objects.create(user=self.request.user, room=room, check_in=data['check_in'], check_out=data['check_out']) booking.save() return HttpResponseRedirect('booking_list/') # return HttpResponse(booking) else: return HttpResponse( 'All of this category of rooms are booked! Try another one')
def update_form(self, pk): booking = Booking.objects.get(id=pk) form = CheckRoomsForm(instance=booking) room_list = Room.objects.filter(category=data['room_category']) available_rooms = [] for room in room_list: if check_availability(room, data['check_in'], data['check_out']): available_rooms.append(room) if len(available_rooms) > 0: room = available_rooms[0] booking = Booking.objects.update( first_name=data['first_name'], last_name=data['last_name'], user=self.request.user, room=room, adults=data['adults'], children=data['children'], check_in=data['check_in'], check_out=data['check_out'], specials=data[ 'specials'], # should look for option to auto_add modified at: dd/mm/yyyy ) booking.save() return reverse(self, "booking-details", kwargs={"pk": self.pk}) else: return HttpResponse( 'These rooms are booked the dates you are looking for.')
def form_valid(self, form): data = form.cleaned_data room_list = Room.objects.filter(category=data['room_category']) available_rooms = [] for room in room_list: if check_availability(room, data['check_in'], data['check_out']): available_rooms.append(room) if len(available_rooms) > 0: room = available_rooms[0] booking = Booking.objects.create( first_name=data['first_name'], last_name=data['last_name'], user=self.request.user, room=room, adults=data['adults'], children=data['children'], check_in=data['check_in'], check_out=data['check_out'], specials=data['specials'], ) booking.save() return HttpResponse(booking) else: return HttpResponse( 'These rooms are booked the dates you are looking for.')
def post(self, request, *args, **kwargs): category = self.kwargs.get('category', None) form = AvailabilityForm(request.POST) if form.is_valid(): data = form.cleaned_data else: return HttpResponse('El formulario tuvo un problema, vuelva a intentarlo.') """ Acá evitamos el reservar para atrás """ if data['check_in'] > data['check_out']: return HttpResponse('No puedes reservar de esta manera!') """ Acá evitamos el reservar el pasado """ if data['check_in'] < timezone.now().date(): return HttpResponse('No puedes reservar el pasado...') apartment_list= Apartment.objects.filter(category=category) available_apartments=[] for apartment in apartment_list: if check_availability(apartment, data['check_in'], data['check_out']): available_apartments.append(apartment) if len(available_apartments)>0: apartment=available_apartments[0] booking= Booking.objects.create( user=self.request.user, apartment=apartment, check_in=data['check_in'], check_out=data['check_out'], ) booking.save() #return HttpResponse(booking) return render(request, 'booking_success.html', {'booking': booking}) else: return HttpResponse('Lo sentimos, estos apartamentos están reservados. Pruebe con otro.')
def post(self, request, *args, **kwargs): category = self.kwargs.get('category', None) room_list = Room.objects.filter(category=category) form = AvailabilityForm(request.POST) if form.is_valid(): data = form.cleaned_data available_rooms = [] for room in room_list: if check_availability(room, data['check_in'], data['check_out']): available_rooms.append(room) if len(available_rooms) > 0: room = available_rooms[0] booking = Booking.objects.create(user=self.request.user, room=room, check_in=data['check_in'], check_out=data['check_out']) booking.save() message = Mail( from_email='*****@*****.**', to_emails='*****@*****.**', subject='Sending from hotelina', html_content='<strong>Sending from hotelina</strong>') try: sg = SendGridAPIClient(env.str('SG_KEY')) response = sg.send(message) print(response.status_code) print(response.body) print(response.headers) print('SENT!!!') except Exception as e: print(e) return HttpResponse(booking) else: return HttpResponse( 'All of this category of rooms are booked!! Try another one')