Add email stuff
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Generated by Django 1.11 on 2017-10-11 19:35
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('webapp', '0024_kaehmyform_phone_number'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.RemoveField(
|
||||
model_name='kaehmyform',
|
||||
name='email',
|
||||
),
|
||||
migrations.RemoveField(
|
||||
model_name='kaehmyform',
|
||||
name='name',
|
||||
),
|
||||
migrations.RemoveField(
|
||||
model_name='kaehmymessage',
|
||||
name='email',
|
||||
),
|
||||
migrations.RemoveField(
|
||||
model_name='kaehmymessage',
|
||||
name='name',
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='messageparent',
|
||||
name='email',
|
||||
field=models.EmailField(default='not@valid.email', max_length=254, verbose_name='Email'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='messageparent',
|
||||
name='name',
|
||||
field=models.CharField(default='Anonymous', max_length=255, verbose_name='Name'),
|
||||
),
|
||||
]
|
||||
@@ -0,0 +1,25 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Generated by Django 1.11 on 2017-10-11 19:36
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('webapp', '0025_auto_20171011_2235'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='messageparent',
|
||||
name='email',
|
||||
field=models.EmailField(default='', max_length=254, verbose_name='Email'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='messageparent',
|
||||
name='name',
|
||||
field=models.CharField(default='', max_length=255, verbose_name='Name'),
|
||||
),
|
||||
]
|
||||
+3
-4
@@ -120,6 +120,9 @@ class KaehmyFormSelectedRole(models.Model):
|
||||
|
||||
class MessageParent(models.Model):
|
||||
|
||||
name = models.CharField(_('Name'), max_length=255, default='')
|
||||
email = models.EmailField(_('Email'), default='')
|
||||
|
||||
def __str__(self):
|
||||
return 'Message parent #{}'.format(self.id)
|
||||
|
||||
@@ -131,8 +134,6 @@ class KaehmyMessage(MessageParent):
|
||||
Every message relates to certain kaehmyform or parent message.
|
||||
"""
|
||||
|
||||
name = models.CharField(_('Name'), max_length=255)
|
||||
email = models.EmailField(_('Email'))
|
||||
message = models.TextField(_('Message'))
|
||||
parent = models.ForeignKey('MessageParent', related_name='messages')
|
||||
timestamp = models.DateTimeField(_('Timestamp'), default=timezone.now)
|
||||
@@ -152,8 +153,6 @@ class KaehmyForm(MessageParent):
|
||||
(5, 'N'),
|
||||
)
|
||||
|
||||
name = models.CharField(_('Name'), max_length=255)
|
||||
email = models.EmailField(_('Email'))
|
||||
phone_number = models.CharField(
|
||||
_('Phone number'), max_length=10, default="")
|
||||
year = models.IntegerField(_('Year'), choices=YEAR_CHOICES)
|
||||
|
||||
+38
-1
@@ -13,6 +13,22 @@ from webapp.models import OhlhafvChallenge, KaehmyForm
|
||||
from webapp.forms import OhlhafvForm, KaehmyForm_Form, KaehmyCommentForm
|
||||
from webapp.tables import OhlhafvTable
|
||||
|
||||
from django.core.mail import send_mail
|
||||
from django.conf import settings
|
||||
|
||||
|
||||
def send_email(to, subject, body):
|
||||
success = send_mail(
|
||||
subject,
|
||||
body,
|
||||
settings.DEFAULT_EMAIL_FROM,
|
||||
[to],
|
||||
fail_silently=False,
|
||||
)
|
||||
|
||||
if success == 0:
|
||||
raise Exception('Failed to send email!')
|
||||
|
||||
|
||||
@require_http_methods(["GET"])
|
||||
def main_index(request, *args, **kwargs):
|
||||
@@ -127,6 +143,17 @@ def kaehmy_submit(request, *args, **kwargs):
|
||||
name=custom_name, is_board=custom_is_board)
|
||||
custom_role.save()
|
||||
application.custom_roles.add(custom_role)
|
||||
form.save()
|
||||
|
||||
email = form.cleaned_data.get('email', '')
|
||||
name = form.cleaned_data.get('name', 'Anonymous')
|
||||
subject = 'Arwokas kirjattu kirje mahdolliselle tulewalle kiltahenkilölle'
|
||||
body = ('Moikka {}!\r\n\r\nHienoa, että kilta kiinnostaa! Kaehmysi on vastaanotettu.\r\n'
|
||||
'Mahdollisista kommenteista tulee ilmoitus sähköpostitse.\r\n\r\n'
|
||||
'Käy katsomassa kaehmytilanne osoitteessa http://sika.sahkoinsinoorikilta.fi/kaehmy').format(name)
|
||||
|
||||
send_email(email, subject, body)
|
||||
logging.debug('Sent kaehmy email to recipient <{}>'.format(email))
|
||||
else:
|
||||
context = {
|
||||
'errors': form.errors
|
||||
@@ -198,7 +225,17 @@ def kaehmy_comment(request, *args, **kwargs):
|
||||
|
||||
form = KaehmyCommentForm(request.POST)
|
||||
if form.is_valid():
|
||||
form.save()
|
||||
comment = form.save()
|
||||
email = comment.parent.email
|
||||
name = comment.name
|
||||
|
||||
subject = 'Kaehmyysi tai kommenttiisi on vastattu!'
|
||||
body = ('{} on vastannut kaehmyhakemukseesi tai kommenttiisi kaehmypalvelussa.\r\n\r\n'
|
||||
'Käy lukemassa viesti osoitteessa http://sika.sahkoinsinoorikilta.fi/kaehmy').format(name.capitalize())
|
||||
|
||||
send_email(email, subject, body)
|
||||
logging.debug('Sent kaehmy comment email to recipient <{}>'.format(email))
|
||||
|
||||
return redirect('/kaehmy')
|
||||
else:
|
||||
print(form)
|
||||
|
||||
Reference in New Issue
Block a user