Some changes

This commit is contained in:
Raphael Michel
2021-03-11 22:47:44 +01:00
parent 76e9093fea
commit bd70a2e7bf
49 changed files with 878 additions and 927 deletions
+3 -7
View File
@@ -5,14 +5,12 @@ from io import BytesIO
from typing import Tuple
from django import forms
from django.conf import settings
from django.contrib.staticfiles import finders
from django.core.files import File
from django.core.files.storage import default_storage
from django.db.models import Exists, OuterRef
from django.db.models.functions import Coalesce
from django.utils.translation import gettext as _, gettext_lazy
from jsonfallback.functions import JSONExtract
from reportlab.lib import pagesizes
from reportlab.lib.units import mm
from reportlab.pdfgen import canvas
@@ -242,10 +240,10 @@ class BadgeExporter(BaseExporter):
choices=[
('name', _('Attendee name')),
('code', _('Order code')),
] + ([
] + [
('name:{}'.format(k), _('Attendee name: {part}').format(part=label))
for k, label, w in name_scheme['fields']
] if settings.JSON_FIELD_AVAILABLE and len(name_scheme['fields']) > 1 else []),
],
)),
]
)
@@ -275,10 +273,8 @@ class BadgeExporter(BaseExporter):
qs = qs.annotate(
resolved_name=Coalesce('attendee_name_parts', 'addon_to__attendee_name_parts',
'order__invoice_address__name_parts')
).annotate(
resolved_name_part=JSONExtract('resolved_name', part)
).order_by(
'resolved_name_part'
f'resolved_name_part__{part}'
)
outbuffer = render_pdf(self.event, qs, OPTIONS[form_data.get('rendering', 'one')])
+13 -13
View File
@@ -1,4 +1,4 @@
from django.conf.urls import url
from django.conf.urls import re_path
from pretix.api.urls import event_router
from pretix.plugins.badges.api import BadgeItemViewSet, BadgeLayoutViewSet
@@ -9,18 +9,18 @@ from .views import (
)
urlpatterns = [
url(r'^control/event/(?P<organizer>[^/]+)/(?P<event>[^/]+)/badges/$',
LayoutListView.as_view(), name='index'),
url(r'^control/event/(?P<organizer>[^/]+)/(?P<event>[^/]+)/badges/print$',
OrderPrintDo.as_view(), name='print'),
url(r'^control/event/(?P<organizer>[^/]+)/(?P<event>[^/]+)/badges/add$',
LayoutCreate.as_view(), name='add'),
url(r'^control/event/(?P<organizer>[^/]+)/(?P<event>[^/]+)/badges/(?P<layout>\d+)/default$',
LayoutSetDefault.as_view(), name='default'),
url(r'^control/event/(?P<organizer>[^/]+)/(?P<event>[^/]+)/badges/(?P<layout>\d+)/delete$',
LayoutDelete.as_view(), name='delete'),
url(r'^control/event/(?P<organizer>[^/]+)/(?P<event>[^/]+)/badges/(?P<layout>\d+)/editor',
LayoutEditorView.as_view(), name='edit'),
re_path(r'^control/event/(?P<organizer>[^/]+)/(?P<event>[^/]+)/badges/$',
LayoutListView.as_view(), name='index'),
re_path(r'^control/event/(?P<organizer>[^/]+)/(?P<event>[^/]+)/badges/print$',
OrderPrintDo.as_view(), name='print'),
re_path(r'^control/event/(?P<organizer>[^/]+)/(?P<event>[^/]+)/badges/add$',
LayoutCreate.as_view(), name='add'),
re_path(r'^control/event/(?P<organizer>[^/]+)/(?P<event>[^/]+)/badges/(?P<layout>\d+)/default$',
LayoutSetDefault.as_view(), name='default'),
re_path(r'^control/event/(?P<organizer>[^/]+)/(?P<event>[^/]+)/badges/(?P<layout>\d+)/delete$',
LayoutDelete.as_view(), name='delete'),
re_path(r'^control/event/(?P<organizer>[^/]+)/(?P<event>[^/]+)/badges/(?P<layout>\d+)/editor',
LayoutEditorView.as_view(), name='edit'),
]
event_router.register('badgelayouts', BadgeLayoutViewSet)
event_router.register('badgeitems', BadgeItemViewSet)