diff --git a/jdav_web/mailer/models.py b/jdav_web/mailer/models.py index 49e40a3..2969ad5 100644 --- a/jdav_web/mailer/models.py +++ b/jdav_web/mailer/models.py @@ -30,9 +30,11 @@ class Message(models.Model): continue members.add(member) data = [ - (self.subject, self.content, self.from_addr, [member.email]) + (self.subject, get_content(self.content), self.from_addr, + [member.email]) for member in members ] + print("data to be sent", data) send_mass_mail(data) self.sent = True self.save() @@ -43,3 +45,13 @@ class Message(models.Model): permissions = ( ("submit_mails", _("Can submit mails")), ) + + +def get_content(content): + # TODO: generate right url here + url = "work in progress" + text = "{}\n\nDiese Email wurde über die Webseite der JDAV Ludwigsburg"\ + "verschickt. Wenn du in Zukunft keine Emails mehr erhalten möchtest,"\ + "kannst du hier den Newsletter deabonnieren.\n\n{}"\ + .format(content, url) + return text diff --git a/jdav_web/members/models.py b/jdav_web/members/models.py index d2fcf42..0a29463 100644 --- a/jdav_web/members/models.py +++ b/jdav_web/members/models.py @@ -1,4 +1,5 @@ from datetime import datetime +import hashlib from django.db import models from django.utils.translation import ugettext_lazy as _ @@ -33,11 +34,18 @@ class Member(models.Model): group = models.ManyToManyField(Group) gets_newsletter = models.BooleanField(_('receives newsletter'), default=True) + key = models.CharField(max_length=32, default="") def __str__(self): """String representation""" return self.name + def save(self, *args, **kwargs): + if len(self.key) == 0: + self.key = hashlib.md5((self.prename + self.lastname + + self.email).encode()).hexdigest() + super(Member, self).save(*args, **kwargs) + @property def name(self): """Returning whole name (prename + lastname)"""