from django.shortcuts import render, get_object_or_404, redirect
|
|
from django.contrib.auth.decorators import login_required
|
|
from django.contrib import messages
|
|
|
|
from .models import Evento, Reserva
|
|
|
|
|
|
@login_required
|
|
def reservar_evento(request, evento_id):
|
|
evento = get_object_or_404(Evento, id=evento_id)
|
|
|
|
# Verificar si el usuario ya tiene una reserva para este evento
|
|
if Reserva.objects.filter(evento=evento, usuario=request.user).exists():
|
|
messages.error(request, 'Ya tienes una reserva para este evento.')
|
|
print("Ya tienes una reserva para este evento.")
|
|
return redirect('eventos:lista_eventos')
|
|
|
|
# Verificar si quedan plazas disponibles
|
|
if evento.plazas_restantes() > 0:
|
|
Reserva.objects.create(evento=evento, usuario=request.user)
|
|
messages.success(request,
|
|
f'Reserva realizada para el evento {evento.nombre}.')
|
|
print("Reserva realizada para el evento {evento.nombre}.")
|
|
|
|
else:
|
|
messages.error(request, 'Lo sentimos, no quedan plazas disponibles.')
|
|
print("Lo sentimos, no quedan plazas disponibles.")
|
|
|
|
return redirect('eventos:lista_eventos')
|
|
|
|
|
|
@login_required
|
|
def lista_eventos(request):
|
|
eventos = Evento.objects.all()
|
|
|
|
return render(request, 'eventos/lista_eventos.html', {'eventos': eventos})
|
|
|
|
|
|
def principal(request):
|
|
return render(request, 'eventos/lista_eventos.html')
|
|
|
|
|
|
def ayuda(request):
|
|
return render(request, 'eventos/help.html')
|
|
|
|
|
|
@login_required
|
|
def detalle_evento(request, evento_id):
|
|
evento = get_object_or_404(Evento, pk=evento_id)
|
|
|
|
reservas = Reserva.objects.filter(evento=evento_id)
|
|
|
|
for i in reservas:
|
|
print("Reserva: ", i.usuario.nombre)
|
|
|
|
return render(request, 'eventos/detalle_evento.html', {'evento': evento, 'reservas': reservas})
|