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:
+2
-1
@@ -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
@@ -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):
|
||||
|
||||
@@ -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):
|
||||
|
||||
@@ -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>
|
||||
@@ -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
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user