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