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"))
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})
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"))