|
|
|
@ -2,6 +2,8 @@ from django.shortcuts import render, get_object_or_404, redirect |
|
|
|
from django.contrib.auth.decorators import login_required |
|
|
|
from django.contrib import messages |
|
|
|
from django.contrib.auth.decorators import user_passes_test |
|
|
|
from django.core.mail import send_mail |
|
|
|
from django.conf import settings |
|
|
|
|
|
|
|
from .models import Evento, Reserva |
|
|
|
from .forms import EventoForm |
|
|
|
@ -20,6 +22,26 @@ def reservar_evento(request, evento_id): |
|
|
|
# Verificar si quedan plazas disponibles |
|
|
|
if evento.plazas_restantes() > 0: |
|
|
|
Reserva.objects.create(evento=evento, usuario=request.user) |
|
|
|
|
|
|
|
# Enviar un correo con la información del evento |
|
|
|
asunto = f'Confirmación de Reserva para {evento.nombre}' |
|
|
|
mensaje = f'Hola {request.user.nombre},\n\n' \ |
|
|
|
f'Te has inscrito correctamente en el evento "{evento.nombre}".\n' \ |
|
|
|
f'Detalles del evento:\n' \ |
|
|
|
f'Nombre: {evento.nombre}\n' \ |
|
|
|
f'Descripción: {evento.descripcion}\n' \ |
|
|
|
f'Fecha: {evento.fecha}\n' \ |
|
|
|
f'\n¡Gracias por inscribirte!\n\n' |
|
|
|
|
|
|
|
send_mail( |
|
|
|
asunto, |
|
|
|
mensaje, |
|
|
|
settings.DEFAULT_FROM_EMAIL, |
|
|
|
[request.user.email], |
|
|
|
fail_silently=False, |
|
|
|
) |
|
|
|
|
|
|
|
|
|
|
|
messages.success(request, |
|
|
|
f'Reserva realizada para el evento {evento.nombre}.') |
|
|
|
print("Reserva realizada para el evento {evento.nombre}.") |
|
|
|
|