From a826849031c7dc8305c0041c3e8ee279ea4f0915 Mon Sep 17 00:00:00 2001 From: erichhasl Date: Sat, 22 Oct 2016 18:31:28 +0200 Subject: [PATCH] enable mailing and add translations --- jdav_web/jdav_web/settings.py | 9 +++ jdav_web/mailer/apps.py | 2 + .../mailer/locale/de/LC_MESSAGES/django.po | 59 +++++++++++++++++++ jdav_web/mailer/models.py | 19 +++++- 4 files changed, 86 insertions(+), 3 deletions(-) create mode 100644 jdav_web/mailer/locale/de/LC_MESSAGES/django.po diff --git a/jdav_web/jdav_web/settings.py b/jdav_web/jdav_web/settings.py index b735efe..c38a5db 100644 --- a/jdav_web/jdav_web/settings.py +++ b/jdav_web/jdav_web/settings.py @@ -134,3 +134,12 @@ STATIC_URL = '/static/' # Locale files (translations) LOCALE_PATHS = (os.path.join(BASE_DIR, 'locale'),) + + +# Email setup + +EMAIL_HOST = 'localhost' +EMAIL_PORT = 25 +EMAIL_HOST_USER = '' +EMAIL_HOST_PASSWORD = '' +EMAIL_USE_TLS = False diff --git a/jdav_web/mailer/apps.py b/jdav_web/mailer/apps.py index 2af0c1d..86c7e65 100644 --- a/jdav_web/mailer/apps.py +++ b/jdav_web/mailer/apps.py @@ -1,5 +1,7 @@ from django.apps import AppConfig +from django.utils.translation import ugettext_lazy as _ class MailerConfig(AppConfig): name = 'mailer' + verbose_name = _('mailer') diff --git a/jdav_web/mailer/locale/de/LC_MESSAGES/django.po b/jdav_web/mailer/locale/de/LC_MESSAGES/django.po new file mode 100644 index 0000000..8d7a2ad --- /dev/null +++ b/jdav_web/mailer/locale/de/LC_MESSAGES/django.po @@ -0,0 +1,59 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-10-22 18:28+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: admin.py:41 +msgid "Message sent" +msgstr "Nachricht gesendet" + +#: apps.py:7 +msgid "mailer" +msgstr "Verteiler" + +#: models.py:9 +msgid "from email" +msgstr "Von Email" + +#: models.py:10 +msgid "subject" +msgstr "Betreff" + +#: models.py:11 +msgid "content" +msgstr "Inhalt" + +#: models.py:12 +msgid "to group" +msgstr "An Gruppe" + +#: models.py:23 +msgid "message" +msgstr "Nachricht" + +#: models.py:24 +msgid "messages" +msgstr "Nachrichten" + +#: templates/admin/change_form.html:10 +msgid "History" +msgstr "Geschichte" + +#: templates/mailer/index.html:2 +msgid "This is the mailer app!" +msgstr "Das ist die Mailer App!" diff --git a/jdav_web/mailer/models.py b/jdav_web/mailer/models.py index a9d0962..2140c53 100644 --- a/jdav_web/mailer/models.py +++ b/jdav_web/mailer/models.py @@ -1,14 +1,27 @@ from django.db import models from django.utils.translation import ugettext_lazy as _ +from django.core.mail import send_mass_mail # Create your models here. class Message(models.Model): """Represents a message that can be sent to some members""" - from_addr = models.EmailField('email') + from_addr = models.EmailField(_('from email')) subject = models.CharField(_('subject'), max_length=50) content = models.TextField(_('content')) - to_group = models.ForeignKey('members.Group', verbose_name=_('group')) + to_group = models.ForeignKey('members.Group', verbose_name=_('to group')) + + def __str__(self): + return self.subject def submit(self): - print("Sending message") + """Sends the mail to the specified group of members""" + data = [ + (self.subject, self.content, self.from_addr, [member.email]) + for member in self.to_group.member_set.all() + ] + send_mass_mail(data) + + class Meta: + verbose_name = _('message') + verbose_name_plural = _('messages')