Make voucher code in notification clickable (#1423)

* Make voucher code in notification clickable

* Move html out of translated string
This commit is contained in:
Sohalt
2019-10-06 11:52:34 +02:00
committed by Raphael Michel
parent 515d8c4899
commit 05b4d954d9
2 changed files with 10 additions and 4 deletions

View File

@@ -179,9 +179,7 @@ class VoucherForm(I18nModelForm):
return data
def save(self, commit=True):
super().save(commit)
return ['item']
return super().save(commit)
class VoucherBulkForm(VoucherForm):

View File

@@ -12,6 +12,7 @@ from django.http import (
from django.shortcuts import redirect, render
from django.urls import resolve, reverse
from django.utils.functional import cached_property
from django.utils.html import format_html
from django.utils.translation import ugettext_lazy as _
from django.views.generic import (
CreateView, DeleteView, ListView, TemplateView, UpdateView, View,
@@ -240,8 +241,15 @@ class VoucherCreate(EventPermissionRequiredMixin, CreateView):
@transaction.atomic
def form_valid(self, form):
form.instance.event = self.request.event
messages.success(self.request, _('The new voucher has been created: {code}').format(code=form.instance.code))
ret = super().form_valid(form)
url = reverse('control:event.voucher', kwargs={
'organizer': self.request.event.organizer.slug,
'event': self.request.event.slug,
'voucher': self.object.pk
})
messages.success(self.request, _('The new voucher has been created: {code}').format(
code=format_html('<a href="{url}">{code}</a>', url=url, code=self.object.code)
))
form.instance.log_action('pretix.voucher.added', data=dict(form.cleaned_data), user=self.request.user)
return ret