def addQueue(request):
    try:
        userprofile = UserProfile.objects.get(pk=request.user)
    except UserProfile.DoesNotExist:
        return render(request, "booking/booking_status_empty_profile.html")

    try:
        if request.method == 'POST':  # If the form has been submitted...
            form = BookingForm(request.POST)  # A form bound to the POST data

            if form.is_valid():
                maxPeople_preference = form.cleaned_data[
                    'maxPeople_preference']
                backend.addQueue(request.user, userprofile.serie,
                                 maxPeople_preference)
                backend.refreshBooking(userprofile.serie)
                return redirect("booking.views.status")
            else:
                render(request, 'booking/booking_start.html', {
                    'form': form,
                })
        else:
            return redirect("booking.views.status")
    except:
        return render(request, 'booking/booking_start.html', {
            'form': BookingForm(),
        })
def addQueue(request):
  try:
    userprofile = UserProfile.objects.get(pk=request.user)
  except UserProfile.DoesNotExist:
    return render(request, "booking/booking_status_empty_profile.html")
  
  try:
    if request.method == 'POST': # If the form has been submitted...
      form = BookingForm(request.POST) # A form bound to the POST data
      
      if form.is_valid(): 
        maxPeople_preference = form.cleaned_data['maxPeople_preference']
        backend.addQueue(request.user, userprofile.serie, maxPeople_preference)
        backend.refreshBooking(userprofile.serie)
        return redirect("booking.views.status") 
      else:
        render(request, 'booking/booking_start.html', {
                'form': form,
          }
        )
    else:
      return redirect("booking.views.status") 
  except: 
    return render(request, 'booking/booking_start.html', {
                'form': BookingForm(),
              }
            )
    def setUp(self):
        user = User.objects.create(username="******")
        user1 = User.objects.create(username="******")
        user2 = User.objects.create(username="******")
        user3 = User.objects.create(username="******")
        user4 = User.objects.create(username="******")

        backend.addQueue(user, 1, 1)

        sleep(1.0)
        backend.addQueue(user1, 1, 1)

        sleep(1.0)
        backend.addQueue(user2, 1, 2)

        sleep(1.0)
        backend.addQueue(user3, 2, 1)

        sleep(1.0)
        backend.addQueue(user4, 2, 1)

        room = Room(number=121, maxPeople=1, type='S', price='10.00')
        room.save()
        availability = Slot(room=room, serie=1)
        availability.save()

        room1 = Room(number=122, maxPeople=2, type='D', price='10.00')
        room1.save()
        availability1 = Slot(room=room1, serie=2)
        availability1.save()

        room2 = Room(number=122, maxPeople=2, type='B', price='10.00')
        room2.save()
        availability1 = Slot(room=room2, serie=1)
        availability1.save()
        availability2 = Slot(room=room2, serie=1)
        availability2.save()
  def setUp(self):
    user = User.objects.create(username="******")
    user1 = User.objects.create(username="******")
    user2 = User.objects.create(username="******")
    user3 = User.objects.create(username="******")
    user4 = User.objects.create(username="******")

    backend.addQueue(user, 1, 1)
    
    sleep(1.0)
    backend.addQueue(user1, 1, 1)
    
    sleep(1.0)
    backend.addQueue(user2, 1, 2) 

    sleep(1.0)
    backend.addQueue(user3, 2, 1) 

    sleep(1.0)
    backend.addQueue(user4, 2, 1) 

    room = Room(number=121, maxPeople=1, type='S', price='10.00')
    room.save()
    availability = Slot(room=room, serie=1)
    availability.save()
 
    room1 = Room(number=122, maxPeople=2, type='D', price='10.00')
    room1.save()
    availability1 = Slot(room=room1, serie=2)
    availability1.save()

    room2 = Room(number=122, maxPeople=2, type='B', price='10.00')
    room2.save()
    availability1 = Slot(room=room2, serie=1)
    availability1.save()
    availability2 = Slot(room=room2, serie=1)
    availability2.save()