134 lines
4.8 KiB
Python
134 lines
4.8 KiB
Python
# -*- coding: utf-8 -*-
|
|
from dav_base.emails import AbstractMail
|
|
|
|
|
|
class AbstractEventMail(AbstractMail):
|
|
_template_name = 'dav_events/emails/default.txt'
|
|
|
|
def __init__(self, recipient, event):
|
|
self._recipient = recipient
|
|
self._event = event
|
|
|
|
def _get_subject(self, subject_fmt=None, **kwargs):
|
|
if subject_fmt is None:
|
|
subject_fmt = self._subject
|
|
|
|
if self._event.number:
|
|
subject_fmt = u'%s: %s' % (self._event.number, subject_fmt)
|
|
|
|
return super(AbstractEventMail, self)._get_subject(subject_fmt=subject_fmt, **kwargs)
|
|
|
|
def _get_recipients(self):
|
|
r = u'"{fullname}" <{email}>'.format(fullname=self._recipient.get_full_name(),
|
|
email=self._recipient.email)
|
|
return [r]
|
|
|
|
def _get_context_data(self, extra_context=None):
|
|
context = super(AbstractEventMail, self)._get_context_data(extra_context=extra_context)
|
|
context['recipient'] = self._recipient
|
|
context.update(self._event.get_template_context())
|
|
return context
|
|
|
|
|
|
class EventUpdatedMail(AbstractEventMail):
|
|
_subject = u'Veranstaltung geändert'
|
|
_template_name = 'dav_events/emails/event_updated.txt'
|
|
|
|
def __init__(self, editor=None, diff=None, *args, **kwargs):
|
|
self._editor = editor
|
|
self._diff = diff
|
|
super(EventUpdatedMail, self).__init__(*args, **kwargs)
|
|
|
|
def _get_context_data(self, extra_context=None):
|
|
context = super(EventUpdatedMail, self)._get_context_data(extra_context=extra_context)
|
|
context['editor'] = self._editor
|
|
context['diff'] = self._diff
|
|
return context
|
|
|
|
|
|
class EventSubmittedMail(AbstractEventMail):
|
|
_subject = u'Veranstaltung eingereicht'
|
|
_template_name = 'dav_events/emails/event_submitted.txt'
|
|
|
|
|
|
class EventToAcceptMail(AbstractEventMail):
|
|
_subject = u'Veranstaltung freigeben'
|
|
_template_name = 'dav_events/emails/event_to_accept.txt'
|
|
|
|
def __init__(self, accept_action=None, *args, **kwargs):
|
|
self._accept_action = accept_action
|
|
super(EventToAcceptMail, self).__init__(*args, **kwargs)
|
|
|
|
def _get_context_data(self, extra_context=None):
|
|
context = super(EventToAcceptMail, self)._get_context_data(extra_context=extra_context)
|
|
context['accept_url'] = self._accept_action.get_absolute_url()
|
|
return context
|
|
|
|
|
|
class EventAcceptedMail(AbstractEventMail):
|
|
_subject = u'Veranstaltung freigegeben'
|
|
_template_name = 'dav_events/emails/event_accepted.txt'
|
|
|
|
def __init__(self, editor=None, *args, **kwargs):
|
|
self._editor = editor
|
|
super(EventAcceptedMail, self).__init__(*args, **kwargs)
|
|
|
|
def _get_context_data(self, extra_context=None):
|
|
context = super(EventAcceptedMail, self)._get_context_data(extra_context=extra_context)
|
|
context['editor'] = self._editor
|
|
return context
|
|
|
|
|
|
class EventToPublishMail(AbstractEventMail):
|
|
_subject = u'Veranstaltung veröffentlichen'
|
|
_template_name = 'dav_events/emails/event_to_publish.txt'
|
|
|
|
def __init__(self, editor=None, confirm_publication_action=None, *args, **kwargs):
|
|
self._editor = editor
|
|
self._confirm_publication_action = confirm_publication_action
|
|
super(EventToPublishMail, self).__init__(*args, **kwargs)
|
|
|
|
def _get_context_data(self, extra_context=None):
|
|
context = super(EventToPublishMail, self)._get_context_data(extra_context=extra_context)
|
|
context['editor'] = self._editor
|
|
context['confirm_publication_url'] = self._confirm_publication_action.get_absolute_url()
|
|
return context
|
|
|
|
|
|
class EventToPublishWebMail(EventToPublishMail):
|
|
_template_name = 'dav_events/emails/event_to_publish_web.txt'
|
|
|
|
|
|
class EventToPublishFacebookMail(EventToPublishMail):
|
|
_template_name = 'dav_events/emails/event_to_publish_facebook.txt'
|
|
|
|
|
|
class EventRegistrationClosedMail(AbstractEventMail):
|
|
_subject = u'Anmeldung geschlossen'
|
|
_template_name = 'dav_events/emails/event_registration_closed.txt'
|
|
|
|
def __init__(self, editor=None, *args, **kwargs):
|
|
self._editor = editor
|
|
super(EventRegistrationClosedMail, self).__init__(*args, **kwargs)
|
|
|
|
def _get_context_data(self, extra_context=None):
|
|
context = super(EventRegistrationClosedMail, self)._get_context_data(extra_context=extra_context)
|
|
context['editor'] = self._editor
|
|
return context
|
|
|
|
|
|
class EventCanceledMail(AbstractEventMail):
|
|
_subject = u'Veranstaltung abgesagt'
|
|
_template_name = 'dav_events/emails/event_canceled.txt'
|
|
|
|
def __init__(self, editor=None, *args, **kwargs):
|
|
self._editor = editor
|
|
super(EventCanceledMail, self).__init__(*args, **kwargs)
|
|
|
|
def _get_context_data(self, extra_context=None):
|
|
context = super(EventCanceledMail, self)._get_context_data(extra_context=extra_context)
|
|
context['editor'] = self._editor
|
|
return context
|
|
|
|
|