forked from CGM_Public/pretix_original
Fix #617 -- Purge ticket cache after ticket settings/layout changes
This commit is contained in:
@@ -25,8 +25,8 @@ from i18nfield.strings import LazyI18nString
|
|||||||
from pytz import timezone
|
from pytz import timezone
|
||||||
|
|
||||||
from pretix.base.models import (
|
from pretix.base.models import (
|
||||||
CachedTicket, Event, Item, ItemVariation, LogEntry, Order, OrderPosition,
|
CachedCombinedTicket, CachedTicket, Event, Item, ItemVariation, LogEntry,
|
||||||
RequiredAction, TaxRule, Voucher,
|
Order, OrderPosition, RequiredAction, TaxRule, Voucher,
|
||||||
)
|
)
|
||||||
from pretix.base.models.event import EventMetaValue
|
from pretix.base.models.event import EventMetaValue
|
||||||
from pretix.base.services import tickets
|
from pretix.base.services import tickets
|
||||||
@@ -634,6 +634,9 @@ class TicketSettings(EventPermissionRequiredMixin, FormView):
|
|||||||
CachedTicket.objects.filter(
|
CachedTicket.objects.filter(
|
||||||
order_position__order__event=self.request.event, provider=provider.identifier
|
order_position__order__event=self.request.event, provider=provider.identifier
|
||||||
).delete()
|
).delete()
|
||||||
|
CachedCombinedTicket.objects.filter(
|
||||||
|
order__event=self.request.event, provider=provider.identifier
|
||||||
|
).delete()
|
||||||
else:
|
else:
|
||||||
success = False
|
success = False
|
||||||
form = self.get_form(self.get_form_class())
|
form = self.get_form(self.get_form_class())
|
||||||
@@ -645,6 +648,7 @@ class TicketSettings(EventPermissionRequiredMixin, FormView):
|
|||||||
k: form.cleaned_data.get(k) for k in form.changed_data
|
k: form.cleaned_data.get(k) for k in form.changed_data
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
messages.success(self.request, _('Your changes have been saved.'))
|
messages.success(self.request, _('Your changes have been saved.'))
|
||||||
return redirect(self.get_success_url())
|
return redirect(self.get_success_url())
|
||||||
else:
|
else:
|
||||||
|
|||||||
@@ -16,7 +16,9 @@ from django.utils.translation import ugettext as _
|
|||||||
from django.views.generic import TemplateView
|
from django.views.generic import TemplateView
|
||||||
|
|
||||||
from pretix.base.i18n import language
|
from pretix.base.i18n import language
|
||||||
from pretix.base.models import CachedFile, InvoiceAddress
|
from pretix.base.models import (
|
||||||
|
CachedCombinedTicket, CachedFile, CachedTicket, InvoiceAddress,
|
||||||
|
)
|
||||||
from pretix.control.permissions import EventPermissionRequiredMixin
|
from pretix.control.permissions import EventPermissionRequiredMixin
|
||||||
from pretix.control.views import ChartContainingView
|
from pretix.control.views import ChartContainingView
|
||||||
from pretix.helpers.database import rolledback_transaction
|
from pretix.helpers.database import rolledback_transaction
|
||||||
@@ -128,6 +130,14 @@ class EditorView(EventPermissionRequiredMixin, ChartContainingView, TemplateView
|
|||||||
request.event.settings.set('ticketoutput_pdf_background', 'file://' + newname)
|
request.event.settings.set('ticketoutput_pdf_background', 'file://' + newname)
|
||||||
|
|
||||||
request.event.settings.set('ticketoutput_pdf_layout', request.POST.get("data"))
|
request.event.settings.set('ticketoutput_pdf_layout', request.POST.get("data"))
|
||||||
|
|
||||||
|
CachedTicket.objects.filter(
|
||||||
|
order_position__order__event=self.request.event, provider='pdf'
|
||||||
|
).delete()
|
||||||
|
CachedCombinedTicket.objects.filter(
|
||||||
|
order__event=self.request.event, provider='pdf'
|
||||||
|
).delete()
|
||||||
|
|
||||||
return JsonResponse({'status': 'ok'})
|
return JsonResponse({'status': 'ok'})
|
||||||
return HttpResponseBadRequest()
|
return HttpResponseBadRequest()
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user