[WIP] Fix #447 -- Sendmail plugin: Create new mail based on an old one (#476)

* send old email content to the new one

* error key event

* test commit

* query bad ID

* query bad ID

* query bad ID

* query bad ID
This commit is contained in:
asv-hungvt
2017-05-06 19:39:48 +07:00
committed by Raphael Michel
parent 27d6f24c3c
commit 5eac3cf9cf
2 changed files with 15 additions and 1 deletions

View File

@@ -29,6 +29,7 @@
<pre>{{ value.message|linebreaksbr }}</pre>
{% endfor %}
</p>
<a href="{% url 'plugins:sendmail:send' organizer=request.event.organizer.slug event=request.event.slug %}?from_log={{ log.id }}">{% trans "Send a new email based on this" %}</a>
</li>
{% endfor %}
</ul>

View File

@@ -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):