|
|
|
@ -1,3 +1,7 @@ |
|
|
|
from rest_framework.response import Response |
|
|
|
from rest_framework.decorators import api_view |
|
|
|
from django.utils import timezone |
|
|
|
|
|
|
|
from django.shortcuts import render, get_object_or_404, redirect |
|
|
|
from django.contrib.auth.decorators import login_required, user_passes_test |
|
|
|
from django.contrib import messages |
|
|
|
@ -7,6 +11,7 @@ from django.template.loader import render_to_string |
|
|
|
|
|
|
|
from .models import Evento, Reserva, ListaEspera, Noticia |
|
|
|
from .forms import ListaEsperaForm, EventoForm |
|
|
|
from .serializers import EventoSerializer |
|
|
|
|
|
|
|
|
|
|
|
@login_required |
|
|
|
@ -52,7 +57,6 @@ def reservar_evento(request, evento_id): |
|
|
|
|
|
|
|
else: |
|
|
|
messages.error(request, 'Lo sentimos, no quedan plazas disponibles.') |
|
|
|
print("Lo sentimos, no quedan plazas disponibles.") |
|
|
|
|
|
|
|
return redirect('eventos:lista_eventos') |
|
|
|
|
|
|
|
@ -112,21 +116,7 @@ def detalle_noticia(request, noticia_id): |
|
|
|
|
|
|
|
|
|
|
|
def ayuda(request): |
|
|
|
''' |
|
|
|
evento = get_object_or_404(Evento, id=1) |
|
|
|
|
|
|
|
reservas = Reserva.objects.filter(evento=1) |
|
|
|
|
|
|
|
print("Ayuda->plazas disponibles: ", evento.plazas_disponibles) |
|
|
|
print("Ayuda->reservas: ", evento.reservas.count()) |
|
|
|
|
|
|
|
numero = random.randint(1, evento.plazas_disponibles-2) |
|
|
|
|
|
|
|
if numero < evento.reservas.count(): |
|
|
|
print("Ayuda->Aqui haria algo...") |
|
|
|
|
|
|
|
print("Ayuda->Aleatorio: ", numero) |
|
|
|
''' |
|
|
|
return render(request, 'eventos/help.html') |
|
|
|
|
|
|
|
|
|
|
|
@ -218,3 +208,16 @@ def apuntar_lista_espera(request, evento_id): |
|
|
|
form = ListaEsperaForm() |
|
|
|
return render(request, 'eventos/apuntar_lista_espera.html', {'form': form, 'evento': evento}) |
|
|
|
|
|
|
|
|
|
|
|
@api_view(['GET']) |
|
|
|
def proximo_evento(request): |
|
|
|
# Obtén el próximo evento que esté publicado y cuya fecha sea mayor a la fecha actual |
|
|
|
# evento = Evento.objects.filter(publicado=True, fecha__gte=timezone.now()).order_by('fecha').first() |
|
|
|
evento = Evento.objects.filter(fecha__gte=timezone.now()).order_by('fecha').first() |
|
|
|
|
|
|
|
if evento: |
|
|
|
serializer = EventoSerializer(evento) |
|
|
|
return Response(serializer.data) |
|
|
|
else: |
|
|
|
return Response({'detail': 'No hay eventos próximos.'}, status=404) |
|
|
|
|