|
|
@@ -0,0 +1,23 @@
|
|
|
+@login_required
|
|
|
+def reservar_evento(request, evento_id):
|
|
|
+ evento = get_object_or_404(Evento, id=evento_id)
|
|
|
+
|
|
|
+ # Si ya está inscrito
|
|
|
+ if Reserva.objects.filter(evento=evento, usuario=request.user).exists():
|
|
|
+ messages.warning(request, "Ya estás inscrito en este evento.")
|
|
|
+ return redirect('detalle_evento', evento_id=evento.id)
|
|
|
+
|
|
|
+ if request.method == 'POST':
|
|
|
+ form = ReservaForm(request.POST, evento=evento, usuario=request.user)
|
|
|
+ if form.is_valid():
|
|
|
+ reserva = form.save(commit=False)
|
|
|
+ reserva.evento = evento
|
|
|
+ reserva.usuario = request.user
|
|
|
+ reserva.save()
|
|
|
+ messages.success(request, "Reserva realizada correctamente.")
|
|
|
+ # Aquí podrías enviar el correo al usuario
|
|
|
+ return redirect('detalle_evento', evento_id=evento.id)
|
|
|
+ else:
|
|
|
+ form = ReservaForm(evento=evento, usuario=request.user)
|
|
|
+
|
|
|
+ return render(request, 'eventos/reservar_evento.html', {'form': form, 'evento': evento})
|