|
|
|
@ -31,17 +31,50 @@ def reservar_evento(request, evento_id): |
|
|
|
return redirect('eventos:lista_eventos') |
|
|
|
|
|
|
|
|
|
|
|
@login_required |
|
|
|
def anular_reserva(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, 'Vamos a solicitar la baja.') |
|
|
|
|
|
|
|
return redirect('eventos:lista_eventos') |
|
|
|
|
|
|
|
return redirect('eventos:lista_eventos') |
|
|
|
|
|
|
|
|
|
|
|
@login_required |
|
|
|
def lista_eventos(request): |
|
|
|
eventos = Evento.objects.all() |
|
|
|
|
|
|
|
return render(request, 'eventos/lista_eventos.html', {'eventos': eventos}) |
|
|
|
# Crear un diccionario que mapea cada evento con un booleano indicando si el usuario ya ha reservado |
|
|
|
eventos_con_reserva = [] |
|
|
|
for evento in eventos: |
|
|
|
inscrito = Reserva.objects.filter(evento=evento, usuario=request.user).exists() if request.user.is_authenticated else False |
|
|
|
|
|
|
|
print("Inscrito: ", inscrito) |
|
|
|
|
|
|
|
eventos_con_reserva.append({ |
|
|
|
'evento': evento, |
|
|
|
'inscrito': inscrito, |
|
|
|
'id': evento.id, |
|
|
|
'nombre': evento.nombre, |
|
|
|
'fecha': evento.fecha, |
|
|
|
'plazas_disponibles': evento.plazas_disponibles, |
|
|
|
'plazas_restantes': evento.plazas_restantes |
|
|
|
}) |
|
|
|
|
|
|
|
return render(request, 'eventos/lista_eventos.html', {'eventos_con_reserva': eventos_con_reserva}) |
|
|
|
|
|
|
|
|
|
|
|
def principal(request): |
|
|
|
return render(request, 'eventos/lista_eventos.html') |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def ayuda(request): |
|
|
|
return render(request, 'eventos/help.html') |
|
|
|
|
|
|
|
|