enh Envío de correos al presentar la solicitud

parent 84353b68
......@@ -16,6 +16,7 @@ cx-oracle = "*"
django-crispy-forms = "==1.7.2"
django-summernote = "*"
django-templated-email = "*"
pypandoc = "*"
[requires]
python_version = "3.7"
{
"_meta": {
"hash": {
"sha256": "e25a68be8096981cc725027486facee2322a8f2a10c02c93e1616a4f14f06273"
"sha256": "e2bce3fa0298b5f96addd4c8ce3943a3da24e0e1a17efedebe30445b08e8fc2b"
},
"pipfile-spec": 6,
"requires": {
......@@ -169,6 +169,13 @@
],
"version": "==1.7.1"
},
"pypandoc": {
"hashes": [
"sha256:e914e6d5f84a76764887e4d909b09d63308725f0cbb5293872c2c92f07c11a5b"
],
"index": "pypi",
"version": "==1.4"
},
"python3-openid": {
"hashes": [
"sha256:0086da6b6ef3161cfe50fb1ee5cceaf2cda1700019fda03c2c5c440ca6abe4fa",
......@@ -228,12 +235,12 @@
"saml"
],
"hashes": [
"sha256:65122fb4287c70ff7915be0f52150fc1a9b9515eab3c3f0e4cd9dbb2a442a5c3",
"sha256:cc871fb4528f7cbba67efdba0bc0f7d7c6eeb92113b0cdc9368dd91ffe965782",
"sha256:f9f36dfa6af2823efb35a5ef65dfd02f66c944f389c33c25dd9621f8bb75a7da"
"sha256:47cd2458c8fefd02466b0c514643e02ad8b61d8b4b69f7573e80882e3a97b0f0",
"sha256:8320666548a532eb158968eda542bbe1863682357c432d8c4e28034a7f1e3b58",
"sha256:d81ed681e3c0722300b61a0792c5db5d21206793f95ca810f010c1cc931c8d89"
],
"index": "pypi",
"version": "==3.1.0"
"version": "==3.2.0"
},
"sqlparse": {
"hashes": [
......@@ -249,6 +256,13 @@
],
"version": "==1.25.3"
},
"wheel": {
"hashes": [
"sha256:5e79117472686ac0c4aef5bad5172ea73a1c2d1646b808c35926bd26bdfb0c08",
"sha256:62fcfa03d45b5b722539ccbc07b190e4bfff4bb9e3a4d470dd9f6a0981002565"
],
"version": "==0.33.4"
},
"xmlsec": {
"hashes": [
"sha256:e573c0172174973223d874ffd158ecd4e0faa761015474385289a6468dd29ed6"
......
import json
import pypandoc
from datetime import date
from django.conf import settings
from django.contrib import messages
from django.contrib.auth.mixins import LoginRequiredMixin, UserPassesTestMixin
from django.core.exceptions import ValidationError
from django.core.validators import validate_email
from django.forms.models import modelform_factory
from django.http import Http404
from django.shortcuts import get_object_or_404, redirect
......@@ -363,13 +366,27 @@ class ProyectoPresentarView(LoginRequiredMixin, ChecksMixin, RedirectView):
"titulo_proyecto": proyecto.titulo,
"programa_proyecto": f"{proyecto.programa.nombre_corto} "
+ f"({proyecto.programa.nombre_largo})",
"descripcion_proyecto": proyecto.descripcion,
"descripcion_proyecto": pypandoc.convert_text(
proyecto.descripcion, "md", format="html"
).replace("\\\n", "\n"),
"site_url": settings.SITE_URL,
},
)
def _enviar_solicitudes_visto_bueno(self, request, proyecto):
"""Envia un mensaje al responsable del centro solicitando su visto bueno."""
try:
validate_email(proyecto.centro.email_decano)
except ValidationError:
messages.warning(
request,
_(
"La dirección de correo electrónico del director o decano "
"del centro no es válida."
),
)
return
send_templated_mail(
template_name="solicitud_visto_bueno",
from_email=None, # settings.DEFAULT_FROM_EMAIL
......@@ -381,7 +398,9 @@ class ProyectoPresentarView(LoginRequiredMixin, ChecksMixin, RedirectView):
"titulo_proyecto": proyecto.titulo,
"programa_proyecto": f"{proyecto.programa.nombre_corto} "
f"({proyecto.programa.nombre_largo})",
"descripcion_proyecto": proyecto.descripcion,
"descripcion_proyecto": pypandoc.convert_text(
proyecto.descripcion, "md", format="html"
).replace("\\\n", "\n"),
"site_url": settings.SITE_URL,
},
)
......
......@@ -12,7 +12,7 @@ Estimad@ {{nombre_invitado}}:
Título: {{titulo_proyecto}}
Programa: {{programa_proyecto}}
Descripción: {{descripcion_proyecto}}
Descripción: {{ descripcion_proyecto | striptags }}
Si desea aceptar la invitación, visite la web <{{site_url}}>
......
......@@ -12,7 +12,7 @@ Estimad@ {{nombre_decano}}:
Título: {{titulo_proyecto}}
Programa: {{programa_proyecto}}
Descripción: {{descripcion_proyecto}}
Descripción: {{ descripcion_proyecto | striptags }}
Los proyectos de este programa deben ser impulsados por el centro.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment