Browse Source

Dejo que se pueda añadir un mensaje personalizado

main
Celestino Rey 9 months ago
parent
commit
e53ee3a797
5 changed files with 48 additions and 29 deletions
  1. +1
    -1
      nuevaapp.sh
  2. +5
    -0
      src/eventos/forms.py
  3. +19
    -22
      src/eventos/views.py
  4. +3
    -6
      src/templates/eventos/detalle_evento.html
  5. +20
    -0
      src/templates/eventos/enviar_correo_inscritos.html

+ 1
- 1
nuevaapp.sh View File

@ -1 +1 @@
oc new-app http://gitea.reymota.es/creylopez/JugarAlPadelOC.git -e DEBUG="False" -e VERSION=11.0 --name='jugaralpadel'
oc new-app http://gitea.reymota.es/creylopez/JugarAlPadelOC.git -e DEBUG="True" -e VERSION=11.0 --name='jugaralpadel'

+ 5
- 0
src/eventos/forms.py View File

@ -18,3 +18,8 @@ class ListaEsperaForm(forms.ModelForm):
class Meta:
model = ListaEspera
fields = []
class MensajeCorreoForm(forms.Form):
asunto = forms.CharField(label="Asunto", max_length=200, required=True, widget=forms.TextInput(attrs={'class': 'form-control'}))
mensaje = forms.CharField(label="Mensaje", widget=forms.Textarea(attrs={'class': 'form-control', 'rows': 4}), required=True)

+ 19
- 22
src/eventos/views.py View File

@ -13,7 +13,7 @@ from rest_framework.decorators import api_view
from .serializers import EventoSerializer, ReservaSerializer, ListaEsperaSerializer, NoticiaSerializer
from .models import Evento, Reserva, ListaEspera, Noticia
from .forms import ListaEsperaForm, EventoForm
from .forms import ListaEsperaForm, EventoForm, MensajeCorreoForm
@login_required
@ -315,26 +315,23 @@ def enviar_correo_inscritos(request, evento_id):
messages.warning(request, "No hay correos disponibles para los inscritos.")
return redirect('detalle_evento', evento_id=evento.id)
asunto = f"Información sobre el evento: {evento.descripcion}"
mensaje = f"""
Hola,
Queremos recordarte que estás inscrito en el evento "{evento.descripcion}".
Fecha y hora: {evento.fecha} - {evento.hora}
Cualquier duda, contáctanos.
Saludos,
El equipo de eventos
"""
send_mail(
asunto,
mensaje,
settings.DEFAULT_FROM_EMAIL,
destinatarios,
fail_silently=False
)
if request.method == "POST":
form = MensajeCorreoForm(request.POST)
if form.is_valid():
asunto = form.cleaned_data['asunto']
mensaje = form.cleaned_data['mensaje']
send_mail(
asunto,
mensaje,
settings.DEFAULT_FROM_EMAIL,
destinatarios,
fail_silently=False
)
messages.success(request, f"Correo enviado a {len(destinatarios)} inscritos.")
return redirect('detalle_evento', evento_id=evento.id)
else:
form = MensajeCorreoForm()
messages.success(request, f"Correo enviado a {len(destinatarios)} inscritos.")
return redirect('eventos:detalle_evento', evento_id=evento.id)

+ 3
- 6
src/templates/eventos/detalle_evento.html View File

@ -60,12 +60,9 @@
{% endif %}
{% if user.is_staff and evento.evento.publicado %}
<form action="{% url 'eventos:enviar_correo_inscritos' evento.id %}" method="post">
{% csrf_token %}
<button type="submit" class="btn btn-danger">
📧 Enviar correo a inscritos
</button>
</form>
<a href="{% url 'eventos:enviar_correo_inscritos' evento.id %}" class="btn btn-danger">
📧 Enviar correo a inscritos
</a>
{% endif %}
</div>


+ 20
- 0
src/templates/eventos/enviar_correo_inscritos.html View File

@ -0,0 +1,20 @@
{% extends "base.html" %}
{% block content %}
<div class="container">
<h2>Enviar correo a los inscritos en "{{ evento.titulo }}"</h2>
<form method="post">
{% csrf_token %}
<div class="mb-3">
<label for="{{ form.asunto.id_for_label }}" class="form-label">Asunto</label>
{{ form.asunto }}
</div>
<div class="mb-3">
<label for="{{ form.mensaje.id_for_label }}" class="form-label">Mensaje</label>
{{ form.mensaje }}
</div>
<button type="submit" class="btn btn-primary">📧 Enviar Correo</button>
<a href="{% url 'eventos:detalle_evento' evento.id %}" class="btn btn-secondary">Cancelar</a>
</form>
</div>
{% endblock %}

Loading…
Cancel
Save