Browse Source

Botón reservar en detalle. Probando

politica
Celestino Rey 1 year ago
parent
commit
40fb7294ca
3 changed files with 46 additions and 8 deletions
  1. +1
    -1
      JugarAlPadel/K8S/Makefile.local
  2. +28
    -7
      JugarAlPadel/gestion_reservas/eventos/views.py
  3. +17
    -0
      JugarAlPadel/gestion_reservas/templates/eventos/detalle_evento.html

+ 1
- 1
JugarAlPadel/K8S/Makefile.local View File

@ -2,7 +2,7 @@ export ARQUITECTURA := $(shell lscpu |grep itectur | tr -d ' '| cut -f2 -d':')
export REGISTRY=localhost:30500
#export REGISTRY=registry.reymota.es
export IMG_VERSION = 0.38
export IMG_VERSION = 0.45
export IMG_NGINX_VERSION = 2.4
# limpia todo


+ 28
- 7
JugarAlPadel/gestion_reservas/eventos/views.py View File

@ -43,6 +43,10 @@ def reservar_evento(request, evento_id):
msg.attach_alternative(html_content, "text/html")
msg.send()
# Aquí hay que mirar si quedan más de n plazas.
# n es un numero aleatorio entre 2 y el total de plazas
# si es así, y ya hay añadir a dos participantes.
messages.success(request,
f'Reserva realizada para el evento {evento.nombre}.')
@ -101,17 +105,34 @@ def detalle_evento(request, evento_id):
reservas = Reserva.objects.filter(evento=evento_id)
inscrito = Reserva.objects.filter(evento=evento, usuario=request.user).exists() if request.user.is_authenticated else False
if ListaEspera.objects.filter(evento=evento, usuario=request.user).exists():
en_espera = True
else:
en_espera = False
lista_espera = ListaEspera.objects.filter(evento=evento_id)
for elemento in lista_espera:
print("Lista de espera: ", elemento.usuario.nombre)
print("Apuntado en: ", elemento.fecha_apuntado)
el_evento = [
{
'evento': evento,
'inscrito': inscrito,
'id': evento.id,
'nombre': evento.nombre,
'descripcion': evento.descripcion,
'fecha': evento.fecha,
'plazas_disponibles': evento.plazas_disponibles,
'plazas_restantes': evento.plazas_restantes,
'en_espera': en_espera,
'usuario': request.user,
'publicado': evento.publicado
}
]
for booking in reservas:
print(booking.evento)
print(booking.usuario.nombre)
print("detalle_evento: ", el_evento)
return render(request, 'eventos/detalle_evento.html', {'evento': evento, 'reservas': reservas, 'lista': lista_espera})
return render(request, 'eventos/detalle_evento.html', {'evento': el_evento, 'reservas': reservas, 'lista': lista_espera})
# Verificar si el usuario es administrador


+ 17
- 0
JugarAlPadel/gestion_reservas/templates/eventos/detalle_evento.html View File

@ -22,6 +22,23 @@
</div><!--//col-->
</div><!--//row-->
<div class="col-auto">
{% if evento.evento.publicado or user.is_staff %} <!-- Solo mostrar eventos publicados a usuarios -->
{% if not evento.inscrito %}
{% if evento.plazas_restantes > 0 %}
<a class="btn app-btn-primary" href="{% url 'eventos:reservar_evento' evento.id %}">Reservar</a>
{% else %}
{% if not evento.en_espera %}
<a class="cell" href="#">Apuntarse a la lista de espera '{{ evento.evento.id }}'</a>
{% else %}
<a class="cell"><p>Ya estás en la lista de espera.</p></a>
{% endif %}
{% endif %}
{% else %}
<a class="cell"><p>Estás dentro.</p></a>
{% endif %}
{% endif %}
</div>
</div><!--//app-card-header-->
<div class="row g-3 align-items-center">


Loading…
Cancel
Save