Example #1
0
def authorize_reservation(request, pk):
    try:
        instance = Reservation.objects.get(pk=pk)
    except Warning.DoesNotExist:
        raise Http404

    if request.method == "POST":
        instance.authorize()
        messages.success(request, "Reserva autorizada com sucesso.")

        # Send authorization email
        _send_mail(
            "Reserva autorizada",
            request.user.community.email,
            instance.guest,
            "reservations/reservation_authorized_email.txt",
            {"reservation": instance},
        )

        return HttpResponseRedirect(r("reservations:reservations_control"))
Example #2
0
def cancel(request, pk):
    try:
        reservation = Reservation.objects.get(pk=pk)
    except Reservation.DoesNotExist:
        raise Http404

    if request.method == "POST":
        reservation.cancel()
        messages.success(request, "Reserva cancelada com sucesso.")

        # Send cancel email
        _send_mail(
            "Cancelamento de reserva",
            request.user.community.email,
            reservation.guest,
            "reservations/reservation_cancel_email.txt",
            {"reservation": reservation},
        )

        return HttpResponseRedirect(r("reservations:my_reservations_list"))

    return render(request, "reservations/reservation_cancel_form.html", {"reservation": reservation})
Example #3
0
def create_reservation(request, slug):
    selected_room = Room.objects.get(slug=slug, community=request.user.community)
    form = ReservationForm(request.POST)

    if not form.is_valid():
        authorized_reservations = Reservation.objects.filter(
            community=request.user.community, room=selected_room, authorized=True, canceled=False
        )
        reservations_list = Reservation.objects.filter(community=request.user.community, canceled=False)
        return render(
            request,
            "reservations/new_reservation_form.html",
            {
                "form": form,
                "authorized_reservations": authorized_reservations,
                "reservations_list": reservations_list,
                "selected_room": selected_room,
                "time": datetime.now(),
            },
        )
    reservation = form.save(commit=False)
    reservation.guest = request.user
    reservation.unit = request.user.unit
    reservation.room = selected_room
    reservation.community = request.user.community
    reservation = form.save()

    # Send reservation email
    _send_mail(
        "Solicitação de reserva",
        request.user.community.email,
        reservation.guest,
        "reservations/reservation_email.txt",
        {"reservation": reservation},
    )

    # return HttpResponseRedirect(r('reservations:success', reservation.pk))
    messages.success(request, "Reserva cacastrada com sucesso. Confira na lista abaixo.")
    return HttpResponseRedirect(r("reservations:my_reservations_list"))