Fixed wrong url in email templates.

This commit is contained in:
2018-01-25 13:21:20 +01:00
parent f3ae1d24b9
commit 88596ea1b5
3 changed files with 28 additions and 17 deletions

View File

@@ -4,7 +4,7 @@ from django.utils.translation import ugettext_lazy as _
# E-Mails # E-Mails
ENABLE_EMAIL_NOTIFICATIONS = False ENABLE_EMAIL_NOTIFICATIONS = False
EMAIL_SENDER = 'Jens Kleineheismann <kleineheismann@kit.edu>' EMAIL_SENDER = 'Jens Kleineheismann <kleineheismann@kit.edu>'
BASE_URL = 'http://localhost:8000' EMAIL_BASE_URL = 'http://localhost:8000'
# Auth Config # Auth Config
MANAGE_ALL_GROUP = 'Tourenreferenten' MANAGE_ALL_GROUP = 'Tourenreferenten'

View File

@@ -1,5 +1,6 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
import logging import logging
from django.core.exceptions import ImproperlyConfigured
from django.core.mail import EmailMessage from django.core.mail import EmailMessage
from django.template.loader import get_template from django.template.loader import get_template
@@ -37,12 +38,28 @@ def get_recipients(task, sport=None):
class AbstractMail(object): class AbstractMail(object):
_sender = config.EMAIL_SENDER _sender = config.EMAIL_SENDER
_subject = 'Generic Mail' _subject = 'Generic Mail'
_template_name = None
def _get_subject(self, **kwargs): def _get_subject(self, **kwargs):
return self._subject.format(**kwargs) return self._subject.format(**kwargs)
def _get_template(self):
if not self._template_name:
raise ImproperlyConfigured('%s._template_name ist not set.', self.__class__.__name__)
return get_template(self._template_name)
def _get_context_data(self, extra_context=None):
context = {
'base_url': config.EMAIL_BASE_URL,
}
if extra_context:
context.update(extra_context)
return context
def _get_body(self): def _get_body(self):
raise NotImplementedError() template = self._get_template()
context = self._get_context_data()
return template.render(context)
def _get_recipients(self): def _get_recipients(self):
raise NotImplementedError() raise NotImplementedError()
@@ -67,14 +84,10 @@ class AbstractEventMail(AbstractMail):
def __init__(self, event): def __init__(self, event):
self._event = event self._event = event
def _get_body(self): def _get_context_data(self, extra_context=None):
template_name = self._template_name context = super(AbstractEventMail, self)._get_context_data(extra_context=extra_context)
template = get_template(template_name)
context = {
'base_url': config.BASE_URL,
}
context.update(self._event.get_template_context()) context.update(self._event.get_template_context())
return template.render(context) return context
class NewEventMail(AbstractEventMail): class NewEventMail(AbstractEventMail):
@@ -142,13 +155,11 @@ class PasswordSetEmail(AbstractMail):
email=self._user.email) email=self._user.email)
return [r] return [r]
def _get_body(self): def _get_context_data(self, extra_context=None):
template_name = self._template_name context = super(PasswordSetEmail, self)._get_context_data(extra_context=extra_context)
template = get_template(template_name) context.update({
context = {
'base_url': config.BASE_URL,
'fullname': self._user.get_full_name(), 'fullname': self._user.get_full_name(),
'username': self._user.username, 'username': self._user.username,
'password': self._password 'password': self._password
} })
return template.render(context) return context

View File

@@ -3,4 +3,4 @@ Hallo {{ fullname }},
Benutzername: {{ username }} Benutzername: {{ username }}
Passwort: {{ password }} Passwort: {{ password }}
URL: {{ base_url }} URL: {{ base_url }}{% url 'dav_events:home' %}