Fix #549 -- Multiple PDF ticket layouts (#938)

- [x] Data model
- [x] CRUD
- [x] Editor
- [x] Migration from old settings
- [x] Clone files when copying events
  - [x] badges?
- [x] Actual ticket output
- [x] Default layout on event creation
- [x] Link well from ticketing settings
- [x] Tests
- [x] Shipping plugin
  - [x] Migration
  - [x] Settings
  - [x] Create default
- [x] API
This commit is contained in:
Raphael Michel
2018-06-06 15:27:55 +02:00
committed by GitHub
parent 72661623f3
commit e3450baeb3
29 changed files with 1302 additions and 36 deletions

View File

@@ -0,0 +1,31 @@
from rest_framework import viewsets
from pretix.api.serializers.i18n import I18nAwareModelSerializer
from pretix.api.serializers.order import CompatibleJSONField
from .models import TicketLayout, TicketLayoutItem
class ItemAssignmentSerializer(I18nAwareModelSerializer):
class Meta:
model = TicketLayoutItem
fields = ('item',)
class TicketLayoutSerializer(I18nAwareModelSerializer):
layout = CompatibleJSONField()
item_assignments = ItemAssignmentSerializer(many=True)
class Meta:
model = TicketLayout
fields = ('id', 'name', 'default', 'layout', 'background', 'item_assignments')
class TicketLayoutViewSet(viewsets.ReadOnlyModelViewSet):
serializer_class = TicketLayoutSerializer
queryset = TicketLayout.objects.none()
lookup_field = 'id'
def get_queryset(self):
return self.request.event.ticket_layouts.all()