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: class Meta:
model = ListaEspera model = ListaEspera
fields = [] 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 .serializers import EventoSerializer, ReservaSerializer, ListaEsperaSerializer, NoticiaSerializer
from .models import Evento, Reserva, ListaEspera, Noticia from .models import Evento, Reserva, ListaEspera, Noticia
from .forms import ListaEsperaForm, EventoForm
from .forms import ListaEsperaForm, EventoForm, MensajeCorreoForm
@login_required @login_required
@ -315,26 +315,23 @@ def enviar_correo_inscritos(request, evento_id):
messages.warning(request, "No hay correos disponibles para los inscritos.") messages.warning(request, "No hay correos disponibles para los inscritos.")
return redirect('detalle_evento', evento_id=evento.id) 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) return redirect('eventos:detalle_evento', evento_id=evento.id)

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

@ -60,12 +60,9 @@
{% endif %} {% endif %}
{% if user.is_staff and evento.evento.publicado %} {% 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 %} {% endif %}
</div> </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