Made email subject prefix configurable.
This commit is contained in:
@@ -6,6 +6,7 @@ DEFAULT_SETTINGS = (
|
|||||||
DefaultSetting('enable_email_notifications', False),
|
DefaultSetting('enable_email_notifications', False),
|
||||||
DefaultSetting('email_sender', None),
|
DefaultSetting('email_sender', None),
|
||||||
DefaultSetting('email_base_url', None),
|
DefaultSetting('email_base_url', None),
|
||||||
|
DefaultSetting('email_subject_prefix', ''),
|
||||||
DefaultSetting('group_manage_all', None),
|
DefaultSetting('group_manage_all', None),
|
||||||
DefaultSetting('group_manage_w', None),
|
DefaultSetting('group_manage_w', None),
|
||||||
DefaultSetting('group_manage_s', None),
|
DefaultSetting('group_manage_s', None),
|
||||||
@@ -15,8 +16,8 @@ DEFAULT_SETTINGS = (
|
|||||||
DefaultSetting('group_publish', None),
|
DefaultSetting('group_publish', None),
|
||||||
DefaultSetting('group_publish_incremental', None),
|
DefaultSetting('group_publish_incremental', None),
|
||||||
DefaultSetting('forms_development_init', False),
|
DefaultSetting('forms_development_init', False),
|
||||||
DefaultSetting('matrix_config', ImproperlyConfigured),
|
|
||||||
DefaultSetting('form_initials', dict()),
|
DefaultSetting('form_initials', dict()),
|
||||||
|
DefaultSetting('matrix_config', ImproperlyConfigured),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -4,8 +4,9 @@ from dav_events.config import FieldInitial
|
|||||||
|
|
||||||
# E-Mails
|
# E-Mails
|
||||||
ENABLE_EMAIL_NOTIFICATIONS = False
|
ENABLE_EMAIL_NOTIFICATIONS = False
|
||||||
EMAIL_SENDER = 'DAV Veranstaltungsheinzel <heinzel@heinzelwerk.de>'
|
EMAIL_SENDER = 'DAV Veranstaltungsheinzel <heinzel@alpenverein-karlsruhe.de>'
|
||||||
EMAIL_BASE_URL = 'http://localhost:8000'
|
EMAIL_BASE_URL = 'http://localhost:8000'
|
||||||
|
EMAIL_SUBJECT_PREFIX = u'[DAV Veranstaltungen]'
|
||||||
|
|
||||||
# Authorization Roles / Groups
|
# Authorization Roles / Groups
|
||||||
GROUP_MANAGE_ALL = 'Tourenreferenten'
|
GROUP_MANAGE_ALL = 'Tourenreferenten'
|
||||||
@@ -17,119 +18,7 @@ GROUP_MANAGE_B = 'Bergsteigerreferenten'
|
|||||||
GROUP_PUBLISH = 'Redaktion'
|
GROUP_PUBLISH = 'Redaktion'
|
||||||
GROUP_PUBLISH_INCREMENTAL = 'OnlineRedaktion'
|
GROUP_PUBLISH_INCREMENTAL = 'OnlineRedaktion'
|
||||||
|
|
||||||
# EventCreateForm
|
# ChainedForm 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,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
FORM_INITIALS = {
|
FORM_INITIALS = {
|
||||||
'ModeForm': {
|
'ModeForm': {
|
||||||
'mode': FieldInitial('joint'),
|
'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,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|||||||
@@ -32,11 +32,15 @@ def get_recipients(task, sport=None):
|
|||||||
|
|
||||||
class AbstractMail(object):
|
class AbstractMail(object):
|
||||||
_sender = app_config.settings.email_sender
|
_sender = app_config.settings.email_sender
|
||||||
_subject = 'Generic Mail'
|
_subject = u''
|
||||||
_template_name = None
|
_template_name = None
|
||||||
|
|
||||||
def _get_subject(self, **kwargs):
|
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):
|
def _get_template(self):
|
||||||
if not self._template_name:
|
if not self._template_name:
|
||||||
@@ -73,7 +77,6 @@ class AbstractMail(object):
|
|||||||
|
|
||||||
|
|
||||||
class AbstractEventMail(AbstractMail):
|
class AbstractEventMail(AbstractMail):
|
||||||
_subject = u'[DAV Veranstaltungen]'
|
|
||||||
_template_name = 'dav_events/emails/default.txt'
|
_template_name = 'dav_events/emails/default.txt'
|
||||||
|
|
||||||
def __init__(self, recipient, event):
|
def __init__(self, recipient, event):
|
||||||
@@ -138,7 +141,7 @@ class EventToPublishMail(AbstractEventMail):
|
|||||||
|
|
||||||
|
|
||||||
class PasswordSetEmail(AbstractMail):
|
class PasswordSetEmail(AbstractMail):
|
||||||
_subject = u'[DAV Veranstaltungen] Zugangsdaten'
|
_subject = u'Zugangsdaten'
|
||||||
_template_name = 'dav_events/emails/password_set.txt'
|
_template_name = 'dav_events/emails/password_set.txt'
|
||||||
|
|
||||||
def __init__(self, user, password):
|
def __init__(self, user, password):
|
||||||
|
|||||||
Reference in New Issue
Block a user