Browse Source

Se añade botón para solicitar baja

politica
Celestino Rey 1 year ago
parent
commit
3de45d1134
7 changed files with 44 additions and 7 deletions
  1. BIN
      JugarAlPadel/gestion_reservas/db.sqlite3
  2. +1
    -0
      JugarAlPadel/gestion_reservas/eventos/urls.py
  3. +34
    -1
      JugarAlPadel/gestion_reservas/eventos/views.py
  4. +6
    -3
      JugarAlPadel/gestion_reservas/templates/eventos/lista_eventos.html
  5. +1
    -1
      JugarAlPadel/gestion_reservas/templates/login.html
  6. +1
    -1
      JugarAlPadel/gestion_reservas/templates/registration/login.html
  7. +1
    -1
      JugarAlPadel/gestion_reservas/templates/registration/signup.html

BIN
JugarAlPadel/gestion_reservas/db.sqlite3 View File


+ 1
- 0
JugarAlPadel/gestion_reservas/eventos/urls.py View File

@ -6,6 +6,7 @@ app_name = 'eventos'
urlpatterns = [
path('eventos/', views.lista_eventos, name='lista_eventos'),
path('eventos/<int:evento_id>/', views.detalle_evento, name='detalle_evento'),
path('eventos/anular_reserva/<int:evento_id>/', 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


+ 34
- 1
JugarAlPadel/gestion_reservas/eventos/views.py View File

@ -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')


+ 6
- 3
JugarAlPadel/gestion_reservas/templates/eventos/lista_eventos.html View File

@ -25,7 +25,7 @@
</div><!--//row-->
<div class="row g-4">
{% if eventos %}
{% if eventos_con_reserva %}
<table class="table app-table-hover mb-0 text-left">
<thead>
<tr>
@ -37,15 +37,18 @@
</tr>
</thead>
<tbody>
{% for evento in eventos %}
{% for evento in eventos_con_reserva %}
<tr>
<td class="cell"><a href="{% url 'eventos:detalle_evento' evento.id %}">{{ evento.nombre }}</a></td>
<td class="cell">{{ evento.fecha }}</td>
<td class="cell">{{ evento.plazas_disponibles }}</td>
<td class="cell">{{ evento.plazas_restantes }}</td>
{% if not evento.inscrito %}
<td class="cell"><a href="{% url 'eventos:reservar_evento' evento.id %}">Reservar</a></td>
{% else %}
<td class="cell"><a href="{% url 'eventos:anular_reserva' evento.id %}">Solicitar baja</a></td>
{% endif %}
</tr>
{% endfor %}
</tbody>


+ 1
- 1
JugarAlPadel/gestion_reservas/templates/login.html View File

@ -8,7 +8,7 @@
<div class="d-flex flex-column align-content-end">
<div class="app-auth-body mx-auto">
{% include "_branding.html" %}
<h2 class="auth-heading text-center mb-5">Entrar en Finanzas</h2>
<h2 class="auth-heading text-center mb-5">Entrar en Jugar al Pádel</h2>
{% if form.errors and not form.non_field_errors %}
<p class="errornote">


+ 1
- 1
JugarAlPadel/gestion_reservas/templates/registration/login.html View File

@ -8,7 +8,7 @@
<div class="d-flex flex-column align-content-end">
<div class="app-auth-body mx-auto">
{% include "_branding.html" %}
<h2 class="auth-heading text-center mb-5">Entrar en Finanzas</h2>
<h2 class="auth-heading text-center mb-5">Entrar en Jugar al Pádel</h2>
{% if form.errors and not form.non_field_errors %}
<p class="errornote">


+ 1
- 1
JugarAlPadel/gestion_reservas/templates/registration/signup.html View File

@ -7,7 +7,7 @@
<div class="d-flex flex-column align-content-end">
<div class="app-auth-body mx-auto">
{% include "_branding.html" %}
<h2 class="auth-heading text-center mb-4">Registrarse en Finanzas</h2>
<h2 class="auth-heading text-center mb-4">Registrarse en Jugar al Pádel</h2>
<div class="auth-form-container text-start mx-auto">


Loading…
Cancel
Save