Merge branch 'feature/signup-email' into 'develop'

Feature/signup email HTML

See merge request sahkoinsinoorikilta/vtmk/web2.0-backend!25
This commit is contained in:
Aarni Halinen
2020-10-08 15:03:33 +00:00
8 changed files with 74 additions and 14 deletions
+2 -1
View File
@@ -9,7 +9,7 @@ ptyprocess==0.5.1
pytz==2016.4
simplegeneric==0.8.1
traitlets==4.2.1
Pillow==5.4.1
Pillow==7.2.0
requests==2.11.1
django-nocaptcha-recaptcha==0.0.19
django-cors-headers==2.0.1
@@ -41,3 +41,4 @@ django-filter==2.0.0
whitenoise==4.1.4
jsonschema==3.2.0
mailjet-rest==1.3.3
markdown==3.2.2
@@ -0,0 +1,39 @@
# Generated by Django 2.1.5 on 2020-10-04 15:20
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('webapp', '0069_signupform_schema'),
]
operations = [
migrations.AddField(
model_name='event',
name='location_en',
field=models.CharField(blank=True, max_length=255, null=True),
),
migrations.AddField(
model_name='event',
name='location_fi',
field=models.CharField(blank=True, max_length=255, null=True),
),
migrations.AddField(
model_name='signupform',
name='email_content',
field=models.TextField(default=''),
preserve_default=False,
),
migrations.AddField(
model_name='signupform',
name='title_en',
field=models.CharField(max_length=255, null=True),
),
migrations.AddField(
model_name='signupform',
name='title_fi',
field=models.CharField(max_length=255, null=True),
),
]
@@ -0,0 +1,18 @@
# Generated by Django 2.1.5 on 2020-10-06 14:49
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('webapp', '0070_auto_20201004_1820'),
]
operations = [
migrations.AlterField(
model_name='signupform',
name='email_content',
field=models.TextField(blank=True),
),
]
+2 -1
View File
@@ -100,6 +100,7 @@ class SignupForm(models.Model):
schema = JSONField()
visible = models.BooleanField(default=True)
quota = models.PositiveIntegerField(blank=True, null=True)
email_content = models.TextField(blank=True)
def __str__(self):
return _('#{} {}').format(self.id, self.title)
@@ -149,7 +150,7 @@ def email_on_signup(sender, instance, created, **kwargs):
except AttributeError:
# subject = _(f"Olet ilmoittautunut ilmoon {instance.signupForm.title}")
subject = f"Olet ilmoittautunut ilmoon {instance.signupForm.title}"
send_signup_email(instance.email, subject, instance.id, instance.uuid)
send_signup_email(instance.email, subject, instance.id, instance.uuid, instance.signupForm.email_content)
class BaseRole(models.Model):
+1 -1
View File
@@ -53,7 +53,7 @@ class SignupFormSerializer(serializers.ModelSerializer):
class Meta:
model = SignupForm
fields = ('id', 'title', 'visible', 'isOpen', 'start_time', 'end_time', 'questions', 'schema', 'signups', 'quota')
fields = ('id', 'title', 'visible', 'isOpen', 'start_time', 'end_time', 'email_content', 'questions', 'schema', 'signups', 'quota')
class EventSerializer(serializers.ModelSerializer):
+6 -7
View File
@@ -1,10 +1,9 @@
{% load i18n %}
{% trans "Moikka" %},
{% autoescape off %}
{{ content }}
{% endautoescape %}
{% trans "Ilmottautuminen saapui perille" %}
<p>Voit muokata ilmoittautumistasi lomakkeen olleessa avoinna alla olevasta linkistä:</p>
{% trans "Voit muokata ilmoittautumistasi lomakkeen olleessa avoinna alla olevasta linkistä:" %}
<a href={{ url }}>{{url}}</a>
{{ url }}
{% trans "Hädässä ota yhteyttä sik-vtmk@list.ayy.fi" %}
<p>Hädässä ota yhteyttä sik-vtmk@list.ayy.fi</p>
+2 -2
View File
@@ -29,7 +29,7 @@ class TagTranslationOptions(TranslationOptions):
class EventTranslationOptions(TranslationOptions):
"""Class for event translation options."""
fields = ()
fields = ('location',)
@register(Signup)
@@ -43,7 +43,7 @@ class SignupTranslationOptions(TranslationOptions):
class SignupFormTranslationOptions(TranslationOptions):
"""Class for registration translation options."""
fields = ()
fields = ('title',)
@register(TemplateQuestion)
+4 -2
View File
@@ -14,6 +14,7 @@ import base64
import uuid
from sikweb.settings import FRONTEND_URL, URL, EMAIL_API_KEY, EMAIL_API_SECRET, DEFAULT_EMAIL_FROM, DEFAULT_EMAIL_FROM_ADDR, ENABLE_AUTOMATIC_EMAILS
import imghdr
import markdown
def get_file_extension(file_name, decoded_file):
@@ -91,11 +92,12 @@ def send_email(to, subject, body, html=False):
logging.exception('Failed to send email.')
def send_signup_email(to, subject, id, uuid):
def send_signup_email(to, subject, id, uuid, content):
message = render_to_string(
'webapp:signup_email.html', {
'url': f"https://{FRONTEND_URL}/signup/edit/{id}/{uuid}",
'content': markdown.markdown(content),
}
)
return send_email(to, subject, message)
return send_email(to, subject, message, True)