diff --git a/src/pretix/plugins/sendmail/templates/pretixplugins/sendmail/history.html b/src/pretix/plugins/sendmail/templates/pretixplugins/sendmail/history.html index afe60a92ff..53b7593c2d 100644 --- a/src/pretix/plugins/sendmail/templates/pretixplugins/sendmail/history.html +++ b/src/pretix/plugins/sendmail/templates/pretixplugins/sendmail/history.html @@ -29,6 +29,7 @@
{{ value.message|linebreaksbr }}
{% endfor %}

+ {% trans "Send a new email based on this" %} {% endfor %} diff --git a/src/pretix/plugins/sendmail/views.py b/src/pretix/plugins/sendmail/views.py index 0e2512559b..7963db9332 100644 --- a/src/pretix/plugins/sendmail/views.py +++ b/src/pretix/plugins/sendmail/views.py @@ -4,13 +4,14 @@ from datetime import timedelta import pytz from django.contrib import messages from django.db.models import Q +from django.http import Http404 from django.shortcuts import redirect from django.utils.formats import date_format from django.utils.timezone import now from django.utils.translation import ugettext_lazy as _ from django.views.generic import FormView, ListView -from pretix.base.i18n import language +from pretix.base.i18n import LazyI18nString, language from pretix.base.models import LogEntry, Order from pretix.base.services.mail import SendMailException, mail from pretix.control.permissions import EventPermissionRequiredMixin @@ -29,6 +30,18 @@ class SenderView(EventPermissionRequiredMixin, FormView): def get_form_kwargs(self): kwargs = super().get_form_kwargs() kwargs['event'] = self.request.event + if 'from_log' in self.request.GET: + try: + from_log_id = self.request.GET.get('from_log') + logentry = LogEntry.objects.get( + id=from_log_id, + event=self.request.event, + action_type='pretix.plugins.sendmail.sent' + ) + message = LazyI18nString(logentry.parsed_data['message']) + kwargs['initial'] = {'message': message} + except LogEntry.DoesNotExist: + raise Http404(_('You supplied an invalid log entry ID')) return kwargs def form_invalid(self, form):