コード例 #1
0
    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')
コード例 #2
0
 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.')
コード例 #3
0
 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.')
コード例 #4
0
ファイル: views.py プロジェクト: sebadp/Alojamientos_Medium
    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.')
コード例 #5
0
    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')