diff --git a/JugarAlPadel/gestion_reservas/db.sqlite3 b/JugarAlPadel/gestion_reservas/db.sqlite3 index 08eb18a..7539972 100644 Binary files a/JugarAlPadel/gestion_reservas/db.sqlite3 and b/JugarAlPadel/gestion_reservas/db.sqlite3 differ diff --git a/JugarAlPadel/gestion_reservas/eventos/urls.py b/JugarAlPadel/gestion_reservas/eventos/urls.py index f2a6232..8aea31a 100644 --- a/JugarAlPadel/gestion_reservas/eventos/urls.py +++ b/JugarAlPadel/gestion_reservas/eventos/urls.py @@ -6,6 +6,7 @@ app_name = 'eventos' urlpatterns = [ path('eventos/', views.lista_eventos, name='lista_eventos'), path('eventos//', views.detalle_evento, name='detalle_evento'), + path('eventos/anular_reserva//', views.anular_reserva, name='anular_reserva'), path('eventos/ayuda/', views.ayuda, name='ayuda'), path('eventos/crear/', views.crear_evento, name='crear_evento'), # URL para crear un evento diff --git a/JugarAlPadel/gestion_reservas/eventos/views.py b/JugarAlPadel/gestion_reservas/eventos/views.py index f1ccee8..4a814da 100644 --- a/JugarAlPadel/gestion_reservas/eventos/views.py +++ b/JugarAlPadel/gestion_reservas/eventos/views.py @@ -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') diff --git a/JugarAlPadel/gestion_reservas/templates/eventos/lista_eventos.html b/JugarAlPadel/gestion_reservas/templates/eventos/lista_eventos.html index 90092f7..94bf46a 100644 --- a/JugarAlPadel/gestion_reservas/templates/eventos/lista_eventos.html +++ b/JugarAlPadel/gestion_reservas/templates/eventos/lista_eventos.html @@ -25,7 +25,7 @@
- {% if eventos %} + {% if eventos_con_reserva %} @@ -37,15 +37,18 @@ - {% for evento in eventos %} + {% for evento in eventos_con_reserva %} + {% if not evento.inscrito %} - + {% else %} + + {% endif %} {% endfor %} diff --git a/JugarAlPadel/gestion_reservas/templates/login.html b/JugarAlPadel/gestion_reservas/templates/login.html index 4eaabed..870b4b6 100644 --- a/JugarAlPadel/gestion_reservas/templates/login.html +++ b/JugarAlPadel/gestion_reservas/templates/login.html @@ -8,7 +8,7 @@
{% include "_branding.html" %} -

Entrar en Finanzas

+

Entrar en Jugar al Pádel

{% if form.errors and not form.non_field_errors %}

diff --git a/JugarAlPadel/gestion_reservas/templates/registration/login.html b/JugarAlPadel/gestion_reservas/templates/registration/login.html index 4eaabed..870b4b6 100644 --- a/JugarAlPadel/gestion_reservas/templates/registration/login.html +++ b/JugarAlPadel/gestion_reservas/templates/registration/login.html @@ -8,7 +8,7 @@

{% include "_branding.html" %} -

Entrar en Finanzas

+

Entrar en Jugar al Pádel

{% if form.errors and not form.non_field_errors %}

diff --git a/JugarAlPadel/gestion_reservas/templates/registration/signup.html b/JugarAlPadel/gestion_reservas/templates/registration/signup.html index d86ba8b..10edb44 100644 --- a/JugarAlPadel/gestion_reservas/templates/registration/signup.html +++ b/JugarAlPadel/gestion_reservas/templates/registration/signup.html @@ -7,7 +7,7 @@

{% include "_branding.html" %} -

Registrarse en Finanzas

+

Registrarse en Jugar al Pádel

{{ evento.nombre }} {{ evento.fecha }} {{ evento.plazas_disponibles }} {{ evento.plazas_restantes }}ReservarSolicitar baja