Browse Source

Reseteo de contraseña y correos de reserva con hora correcta

politica
Celestino Rey 1 year ago
parent
commit
879122305b
11 changed files with 51 additions and 9 deletions
  1. +1
    -1
      JugarAlPadel/K8S/Makefile.local
  2. +4
    -0
      JugarAlPadel/gestion_reservas/accounts/urls.py
  3. +2
    -2
      JugarAlPadel/gestion_reservas/eventos/models.py
  4. +1
    -1
      JugarAlPadel/gestion_reservas/eventos/views.py
  5. +3
    -0
      JugarAlPadel/gestion_reservas/gestion_reservas/settings.py
  6. +1
    -1
      JugarAlPadel/gestion_reservas/templates/emails/confirmacion_reserva.html
  7. +2
    -4
      JugarAlPadel/gestion_reservas/templates/registration/login.html
  8. +7
    -0
      JugarAlPadel/gestion_reservas/templates/registration/password_reset_complete.html
  9. +11
    -0
      JugarAlPadel/gestion_reservas/templates/registration/password_reset_confirm.html
  10. +7
    -0
      JugarAlPadel/gestion_reservas/templates/registration/password_reset_done.html
  11. +12
    -0
      JugarAlPadel/gestion_reservas/templates/registration/password_reset_form.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.32
export IMG_VERSION = 0.38
export IMG_NGINX_VERSION = 2.4
# limpia todo


+ 4
- 0
JugarAlPadel/gestion_reservas/accounts/urls.py View File

@ -7,4 +7,8 @@ urlpatterns = [
path('login/', auth_views.LoginView.as_view(), name='login'),
path('logout/', auth_views.LogoutView.as_view(), name='logout'),
path("signup/", SignUpView.as_view(), name="signup"),
path('password_reset/', auth_views.PasswordResetView.as_view(), name='password_reset'),
path('password_reset/done/', auth_views.PasswordResetDoneView.as_view(), name='password_reset_done'),
path('reset/<uidb64>/<token>/', auth_views.PasswordResetConfirmView.as_view(), name='password_reset_confirm'),
path('reset/done/', auth_views.PasswordResetCompleteView.as_view(), name='password_reset_complete'),
]

+ 2
- 2
JugarAlPadel/gestion_reservas/eventos/models.py View File

@ -6,7 +6,7 @@ from django.utils import timezone
class Evento(models.Model):
nombre = models.CharField(max_length=100)
descripcion = models.TextField()
fecha = models.DateTimeField()
fecha = models.DateField()
hora = models.TimeField(default=timezone.now) # Nuevo campo para la hora
plazas_disponibles = models.PositiveIntegerField()
@ -26,7 +26,7 @@ class Reserva(models.Model):
fecha_reserva = models.DateTimeField(auto_now_add=True)
def __str__(self):
return f'{self.usuario.nombre} - {self.evento.nombre}'
return f'{self.usuario.nombre} - {self.evento.nombre} reserva realizada a las {self.fecha_reserva}'
class ListaEspera(models.Model):


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

@ -33,7 +33,7 @@ def reservar_evento(request, evento_id):
f'Detalles del evento:\n' \
f'Nombre: {evento.nombre}\n' \
f'Descripción: {evento.descripcion}\n' \
f'Fecha: {evento.fecha.strftime("%d/%b/%y")} a las {evento.hora.hour}\n' \
f'Fecha: {evento.fecha.strftime("%d/%b/%y")} a las {evento.hora}\n' \
f'\n¡Gracias por inscribirte!\n\n'
html_content = render_to_string('emails/confirmacion_reserva.html', {'evento': evento, 'usuario': request.user})


+ 3
- 0
JugarAlPadel/gestion_reservas/gestion_reservas/settings.py View File

@ -168,3 +168,6 @@ DEFAULT_FROM_EMAIL = 'jugaralpadelentreamigos@gmail.com'
# Dirección del administrador
ADMIN_EMAIL = 'king.bernard.b@gmail.com'
# El tiempo de validez del enlace para resetear la contraseña (por defecto es de 3 días)
PASSWORD_RESET_TIMEOUT = 86400 # 1 día en segundos

+ 1
- 1
JugarAlPadel/gestion_reservas/templates/emails/confirmacion_reserva.html View File

@ -2,5 +2,5 @@
<p>Hola {{ usuario.nombre }},</p>
<p>Te has inscrito correctamente en el evento <strong>{{ evento.nombre }}</strong>.</p>
<p><strong>Descripción:</strong> {{ evento.descripcion }}</p>
<p><strong>Fecha:</strong> {{ evento.fecha }}</p>
<p><strong>Fecha:</strong> {{ evento.fecha }} a las {{ evento.hora}} </p>
<p>¡Gracias por inscribirte!</p>

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

@ -50,12 +50,10 @@
{{ form.password }}
<input type="hidden" name="next" value="{{ next }}">
</div>
{% url 'admin_password_reset' as password_reset_url %}
{% if password_reset_url %}
<div class="password-reset-link">
<a href="{{ password_reset_url }}">{% translate 'Forgotten your password or username?' %}</a>
<a href="{% url 'password_reset' %}">{% translate 'Forgotten your password or username?' %}</a>
</div>
{% endif %}
<div class="text-center">
<input type="submit" class="btn app-btn-primary w-100 theme-btn mx-auto" value="{% translate 'Log in' %}">


+ 7
- 0
JugarAlPadel/gestion_reservas/templates/registration/password_reset_complete.html View File

@ -0,0 +1,7 @@
{% extends 'base.html' %}
{% block content %}
<h2>Contraseña restablecida</h2>
<p>Tu contraseña ha sido restablecida exitosamente. Ahora puedes iniciar sesión con tu nueva contraseña.</p>
<a href="{% url 'login' %}">Iniciar sesión</a>
{% endblock %}

+ 11
- 0
JugarAlPadel/gestion_reservas/templates/registration/password_reset_confirm.html View File

@ -0,0 +1,11 @@
{% extends 'base.html' %}
{% block content %}
<h2>Introduce una nueva contraseña</h2>
<form method="post">
{% csrf_token %}
{{ form.as_p }}
<button type="submit">Restablecer contraseña</button>
</form>
{% endblock %}

+ 7
- 0
JugarAlPadel/gestion_reservas/templates/registration/password_reset_done.html View File

@ -0,0 +1,7 @@
{% extends 'base.html' %}
{% block content %}
<h2>Correo enviado</h2>
<p>Se ha enviado un correo con instrucciones para restablecer tu contraseña si la dirección de correo proporcionada es correcta.</p>
<a href="{% url 'login' %}">Volver a iniciar sesión</a>
{% endblock %}

+ 12
- 0
JugarAlPadel/gestion_reservas/templates/registration/password_reset_form.html View File

@ -0,0 +1,12 @@
{% extends 'base.html' %}
{% block content %}
<h2>Solicitar restablecimiento de contraseña</h2>
<p>Introduce tu dirección de correo electrónico, y te enviaremos un enlace para restablecer tu contraseña.</p>
<form method="post">
{% csrf_token %}
{{ form.as_p }}
<button type="submit">Enviar enlace de restablecimiento</button>
</form>
{% endblock %}

Loading…
Cancel
Save