From f85683d0ac13d00e1e6d06334d64b7cea81e28cc Mon Sep 17 00:00:00 2001 From: Jens Kleineheismann Date: Wed, 21 Feb 2018 11:31:17 +0100 Subject: [PATCH] Made email subject prefix configurable. --- dav_events/apps.py | 3 +- .../django.main.settings-dav_events.py | 230 +++++++++--------- dav_events/emails.py | 19 +- 3 files changed, 129 insertions(+), 123 deletions(-) diff --git a/dav_events/apps.py b/dav_events/apps.py index 3361f25..f827779 100644 --- a/dav_events/apps.py +++ b/dav_events/apps.py @@ -6,6 +6,7 @@ DEFAULT_SETTINGS = ( DefaultSetting('enable_email_notifications', False), DefaultSetting('email_sender', None), DefaultSetting('email_base_url', None), + DefaultSetting('email_subject_prefix', ''), DefaultSetting('group_manage_all', None), DefaultSetting('group_manage_w', None), DefaultSetting('group_manage_s', None), @@ -15,8 +16,8 @@ DEFAULT_SETTINGS = ( DefaultSetting('group_publish', None), DefaultSetting('group_publish_incremental', None), DefaultSetting('forms_development_init', False), - DefaultSetting('matrix_config', ImproperlyConfigured), DefaultSetting('form_initials', dict()), + DefaultSetting('matrix_config', ImproperlyConfigured), ) diff --git a/dav_events/console_scripts/Resources/django.main.settings-dav_events.py b/dav_events/console_scripts/Resources/django.main.settings-dav_events.py index ad95948..d14f3eb 100644 --- a/dav_events/console_scripts/Resources/django.main.settings-dav_events.py +++ b/dav_events/console_scripts/Resources/django.main.settings-dav_events.py @@ -4,8 +4,9 @@ from dav_events.config import FieldInitial # E-Mails ENABLE_EMAIL_NOTIFICATIONS = False -EMAIL_SENDER = 'DAV Veranstaltungsheinzel ' +EMAIL_SENDER = 'DAV Veranstaltungsheinzel ' EMAIL_BASE_URL = 'http://localhost:8000' +EMAIL_SUBJECT_PREFIX = u'[DAV Veranstaltungen]' # Authorization Roles / Groups GROUP_MANAGE_ALL = 'Tourenreferenten' @@ -17,119 +18,7 @@ GROUP_MANAGE_B = 'Bergsteigerreferenten' GROUP_PUBLISH = 'Redaktion' GROUP_PUBLISH_INCREMENTAL = 'OnlineRedaktion' -# EventCreateForm -# FORMS_DEVELOPMENT_INIT = False -MATRIX_CONFIG = { - '0': {'description': _(u'Keiner / direkte Abrechnung (Tageswanderung)'), - 'trainer_fee': 0, - 'pre_meeting_fee': 0, - 'trainer_day_fee': 0, - 'participant_fee': 0, - 'participant_day_fee': 0, - 'min_participants': 0, - 'max_participants': 0, - }, - 'A': {'description': _(u'A (Mehrtageswanderung Mittelgebirge'), - 'trainer_fee': 40, - 'trainer_day_fee': 50, - 'participant_fee': 10, - 'participant_day_fee': 10, - 'pre_meeting_fee': 0, - 'min_participants': 5, - 'max_participants': 8, - }, - 'B': {'description': _(u'B (Alpine Mehrtageswanderung)'), - 'trainer_fee': 50, - 'trainer_day_fee': 75, - 'participant_fee': 10, - 'participant_day_fee': 20, - 'pre_meeting_fee': 0, - 'min_participants': 3, - 'max_participants': 6, - }, - 'C': {'description': _(u'C (Tour/Kurs ohne Übernachtung)'), - 'trainer_fee': 30, - 'trainer_day_fee': 60, - 'participant_fee': 10, - 'participant_day_fee': 30, - 'pre_meeting_fee': 0, - 'min_participants': 3, - 'max_participants': 5, - }, - 'D': {'description': _(u'D (Tour/Kurs Mittelgebirge)'), - 'trainer_fee': 50, - 'trainer_day_fee': 75, - 'participant_fee': 20, - 'participant_day_fee': 25, - 'pre_meeting_fee': 0, - 'min_participants': 3, - 'max_participants': 5, - }, - 'E': {'description': _(u'E (Alpine Klettertour DE/AT)'), - 'trainer_fee': 80, - 'trainer_day_fee': 75, - 'participant_fee': 40, - 'participant_day_fee': 40, - 'pre_meeting_fee': 0, - 'min_participants': 2, - 'max_participants': 3, - }, - 'F': {'description': _(u'F (Alpine Klettertour CH/FR/IT/..)'), - 'trainer_fee': 80, - 'trainer_day_fee': 85, - 'participant_fee': 40, - 'participant_day_fee': 45, - 'pre_meeting_fee': 0, - 'min_participants': 2, - 'max_participants': 3, - }, - 'G': {'description': _(u'G (Alpiner Kurs DE/AT)'), - 'trainer_fee': 100, - 'trainer_day_fee': 75, - 'participant_fee': 35, - 'participant_day_fee': 30, - 'pre_meeting_fee': 0, - 'min_participants': 3, - 'max_participants': 4, - }, - 'H': {'description': _(u'H (Alpiner Kurs CH/FR/IT/..)'), - 'trainer_fee': 100, - 'trainer_day_fee': 85, - 'participant_fee': 35, - 'participant_day_fee': 30, - 'pre_meeting_fee': 0, - 'min_participants': 3, - 'max_participants': 4, - }, - 'I': {'description': _(u'I (Alpine MTB/Ski-Tour DE/AT)'), - 'trainer_fee': 80, - 'trainer_day_fee': 75, - 'participant_fee': 25, - 'participant_day_fee': 25, - 'pre_meeting_fee': 0, - 'min_participants': 3, - 'max_participants': 6, - }, - 'J': {'description': _(u'J (Alpine MTB/Ski-Tour CH/FR/IT/..)'), - 'trainer_fee': 80, - 'trainer_day_fee': 85, - 'participant_fee': 25, - 'participant_day_fee': 25, - 'pre_meeting_fee': 0, - 'min_participants': 3, - 'max_participants': 6, - }, - 'K': {'description': _(u'K (Ski-Tour/-Kurs mit Liftbenutzung)'), - 'trainer_fee': 80, - 'trainer_day_fee': 130, - 'participant_fee': 40, - 'participant_day_fee': 40, - 'pre_meeting_fee': 0, - 'min_participants': 3, - 'max_participants': 4, - }, -} - +# ChainedForm and sub classes FORM_INITIALS = { 'ModeForm': { 'mode': FieldInitial('joint'), @@ -272,3 +161,116 @@ FORM_INITIALS = { ), }, } + +# EventCreateForm and sub classes +# FORMS_DEVELOPMENT_INIT = False +MATRIX_CONFIG = { + '0': {'description': _(u'Keiner / direkte Abrechnung (Tageswanderung)'), + 'trainer_fee': 0, + 'pre_meeting_fee': 0, + 'trainer_day_fee': 0, + 'participant_fee': 0, + 'participant_day_fee': 0, + 'min_participants': 0, + 'max_participants': 0, + }, + 'A': {'description': _(u'A (Mehrtageswanderung Mittelgebirge'), + 'trainer_fee': 40, + 'trainer_day_fee': 50, + 'participant_fee': 10, + 'participant_day_fee': 10, + 'pre_meeting_fee': 0, + 'min_participants': 5, + 'max_participants': 8, + }, + 'B': {'description': _(u'B (Alpine Mehrtageswanderung)'), + 'trainer_fee': 50, + 'trainer_day_fee': 75, + 'participant_fee': 10, + 'participant_day_fee': 20, + 'pre_meeting_fee': 0, + 'min_participants': 3, + 'max_participants': 6, + }, + 'C': {'description': _(u'C (Tour/Kurs ohne Übernachtung)'), + 'trainer_fee': 30, + 'trainer_day_fee': 60, + 'participant_fee': 10, + 'participant_day_fee': 30, + 'pre_meeting_fee': 0, + 'min_participants': 3, + 'max_participants': 5, + }, + 'D': {'description': _(u'D (Tour/Kurs Mittelgebirge)'), + 'trainer_fee': 50, + 'trainer_day_fee': 75, + 'participant_fee': 20, + 'participant_day_fee': 25, + 'pre_meeting_fee': 0, + 'min_participants': 3, + 'max_participants': 5, + }, + 'E': {'description': _(u'E (Alpine Klettertour DE/AT)'), + 'trainer_fee': 80, + 'trainer_day_fee': 75, + 'participant_fee': 40, + 'participant_day_fee': 40, + 'pre_meeting_fee': 0, + 'min_participants': 2, + 'max_participants': 3, + }, + 'F': {'description': _(u'F (Alpine Klettertour CH/FR/IT/..)'), + 'trainer_fee': 80, + 'trainer_day_fee': 85, + 'participant_fee': 40, + 'participant_day_fee': 45, + 'pre_meeting_fee': 0, + 'min_participants': 2, + 'max_participants': 3, + }, + 'G': {'description': _(u'G (Alpiner Kurs DE/AT)'), + 'trainer_fee': 100, + 'trainer_day_fee': 75, + 'participant_fee': 35, + 'participant_day_fee': 30, + 'pre_meeting_fee': 0, + 'min_participants': 3, + 'max_participants': 4, + }, + 'H': {'description': _(u'H (Alpiner Kurs CH/FR/IT/..)'), + 'trainer_fee': 100, + 'trainer_day_fee': 85, + 'participant_fee': 35, + 'participant_day_fee': 30, + 'pre_meeting_fee': 0, + 'min_participants': 3, + 'max_participants': 4, + }, + 'I': {'description': _(u'I (Alpine MTB/Ski-Tour DE/AT)'), + 'trainer_fee': 80, + 'trainer_day_fee': 75, + 'participant_fee': 25, + 'participant_day_fee': 25, + 'pre_meeting_fee': 0, + 'min_participants': 3, + 'max_participants': 6, + }, + 'J': {'description': _(u'J (Alpine MTB/Ski-Tour CH/FR/IT/..)'), + 'trainer_fee': 80, + 'trainer_day_fee': 85, + 'participant_fee': 25, + 'participant_day_fee': 25, + 'pre_meeting_fee': 0, + 'min_participants': 3, + 'max_participants': 6, + }, + 'K': {'description': _(u'K (Ski-Tour/-Kurs mit Liftbenutzung)'), + 'trainer_fee': 80, + 'trainer_day_fee': 130, + 'participant_fee': 40, + 'participant_day_fee': 40, + 'pre_meeting_fee': 0, + 'min_participants': 3, + 'max_participants': 4, + }, +} diff --git a/dav_events/emails.py b/dav_events/emails.py index c80ecb4..fbd164e 100644 --- a/dav_events/emails.py +++ b/dav_events/emails.py @@ -32,11 +32,15 @@ def get_recipients(task, sport=None): class AbstractMail(object): _sender = app_config.settings.email_sender - _subject = 'Generic Mail' + _subject = u'' _template_name = None def _get_subject(self, **kwargs): - return self._subject.format(**kwargs) + s = self._subject + if app_config.settings.email_subject_prefix: + s = u'%s %s' % (app_config.settings.email_subject_prefix, s) + s.format(**kwargs) + return s def _get_template(self): if not self._template_name: @@ -73,7 +77,6 @@ class AbstractMail(object): class AbstractEventMail(AbstractMail): - _subject = u'[DAV Veranstaltungen]' _template_name = 'dav_events/emails/default.txt' def __init__(self, recipient, event): @@ -97,7 +100,7 @@ class NewEventMail(AbstractEventMail): def _get_subject(self, **kwargs): s = super(NewEventMail, self)._get_subject(**kwargs) - s += u' Neue Veranstaltung angelegt' + s += u'Neue Veranstaltung angelegt' return s @@ -115,7 +118,7 @@ class EventToAcceptMail(AbstractEventMail): def _get_subject(self, **kwargs): s = super(EventToAcceptMail, self)._get_subject(**kwargs) - s += u' Neue Veranstaltung freigeben' + s += u'Neue Veranstaltung freigeben' return s @@ -124,7 +127,7 @@ class EventAcceptedMail(AbstractEventMail): def _get_subject(self, **kwargs): s = super(EventAcceptedMail, self)._get_subject(**kwargs) - s += u' Veranstaltung wurde freigegeben' + s += u'Veranstaltung wurde freigegeben' return s @@ -133,12 +136,12 @@ class EventToPublishMail(AbstractEventMail): def _get_subject(self, **kwargs): s = super(EventToPublishMail, self)._get_subject(**kwargs) - s += u' Veranstaltung veröffentlichen' + s += u'Veranstaltung veröffentlichen' return s class PasswordSetEmail(AbstractMail): - _subject = u'[DAV Veranstaltungen] Zugangsdaten' + _subject = u'Zugangsdaten' _template_name = 'dav_events/emails/password_set.txt' def __init__(self, user, password):