ADD: dav_events: send email to publishers if registration is closed.

This commit is contained in:
2019-06-03 11:42:41 +02:00
parent bee1623529
commit 2dbab0032f
3 changed files with 43 additions and 4 deletions

View File

@@ -16,9 +16,10 @@ from django.utils.translation import ugettext as _
from django.views import generic
from .. import choices
from .. import emails
from .. import forms
from .. import models
from ..utils import has_role
from ..utils import get_users_by_role, has_role
from ..workflow import DefaultWorkflow
logger = logging.getLogger(__name__)
@@ -192,21 +193,33 @@ class EventRegistrationsView(EventPermissionMixin, generic.DetailView):
return context
def _send_mails(self, event, request):
editor = request.user
recipients = get_users_by_role('publisher')
for recipient in recipients:
if recipient.email:
email = emails.EventRegistrationClosedMail(recipient=recipient, event=event, editor=editor)
email.send()
def post(self, request, *args, **kwargs):
event = self.get_object()
action = request.POST.get('action')
if action == 'close-registration':
logger.info('Close registration: %s', event)
event.registration_closed = True
event.save()
event.save(implicit_update=True)
self._send_mails(event, request)
messages.success(request, _(u'Die Anmeldung wurde geschlossen'))
elif action == 'open-registration':
logger.info('Reopen registration: %s', event)
event.registration_closed = False
event.save()
event.save(implicit_update=True)
messages.success(request, _(u'Die Anmeldung wurde geöffnet'))
elif action == 'kill-deadline':
logger.info('Delete deadline: %s', event)
event.deadline = None
event.registration_closed = False
event.save()
event.save(implicit_update=True)
messages.success(request, _(u'Der Anmeldeschluss wurde gelöscht'))
return HttpResponseRedirect(reverse('dav_events:registrations', kwargs={'pk': event.pk}))