Skip to content

Commit c2a07de

Browse files
ArnavBallinCodemariobehlingSak1012
authored
fix: resolve PDF download issues (#1256)
* fix: resolve PDF download issues #1245 #1247 - Fix duplicate .pdf extension in ticket filenames by removing redundant provider identifier - Add defensive null checks for order_position to prevent HTTP 500 errors - Apply consistent filename format across presale, control, and API views - Filenames now follow clean pattern: EVENT-CODE-POSITION.pdf Fixes #1245: HTTP 500 error on confirmation page PDF download Fixes #1247: Duplicate .pdf extension in ticket filename * fix: correct extra closing brace in filename format string Fixes syntax error where fallback filename had an extra '}' character causing malformed filenames. * fix: remove unnecessary null checks in PDF download --------- Co-authored-by: Mario Behling <mb@mariobehling.de> Co-authored-by: Srivatsav Auswin <75414859+Sak1012@users.noreply.github.com>
1 parent de46975 commit c2a07de

File tree

3 files changed

+7
-14
lines changed

3 files changed

+7
-14
lines changed

app/eventyay/api/views/order.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -296,10 +296,9 @@ def download(self, request, output, **kwargs):
296296
return resp
297297
else:
298298
resp = FileResponse(ct.file.file, content_type=ct.type)
299-
resp['Content-Disposition'] = 'attachment; filename="{}-{}-{}{}"'.format(
299+
resp['Content-Disposition'] = 'attachment; filename="{}-{}{}"'.format(
300300
self.request.event.slug.upper(),
301301
order.code,
302-
provider.identifier,
303302
ct.extension,
304303
)
305304
return resp
@@ -1094,11 +1093,10 @@ def download(self, request, output, **kwargs):
10941093
return resp
10951094
else:
10961095
resp = FileResponse(ct.file.file, content_type=ct.type)
1097-
resp['Content-Disposition'] = 'attachment; filename="{}-{}-{}-{}{}"'.format(
1096+
resp['Content-Disposition'] = 'attachment; filename="{}-{}-{}{}"'.format(
10981097
self.request.event.slug.upper(),
10991098
pos.order.code,
11001099
pos.positionid,
1101-
provider.identifier,
11021100
ct.extension,
11031101
)
11041102
return resp

app/eventyay/control/views/orders.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -510,20 +510,18 @@ def success(self, value):
510510
return resp
511511
else:
512512
resp = FileResponse(value.file.file, content_type=value.type)
513-
resp['Content-Disposition'] = 'attachment; filename="{}-{}-{}-{}{}"'.format(
513+
resp['Content-Disposition'] = 'attachment; filename="{}-{}-{}{}"'.format(
514514
self.request.event.slug.upper(),
515515
self.order.code,
516516
self.order_position.positionid,
517-
self.output.identifier,
518517
value.extension,
519518
)
520519
return resp
521520
elif isinstance(value, CachedCombinedTicket):
522521
resp = FileResponse(value.file.file, content_type=value.type)
523-
resp['Content-Disposition'] = 'attachment; filename="{}-{}-{}{}"'.format(
522+
resp['Content-Disposition'] = 'attachment; filename="{}-{}{}"'.format(
524523
self.request.event.slug.upper(),
525524
self.order.code,
526-
self.output.identifier,
527525
value.extension,
528526
)
529527
return resp

app/eventyay/presale/views/order.py

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1087,29 +1087,26 @@ def success(self, value):
10871087
resp = FileResponse(value.file.file, content_type=value.type)
10881088
if self.order_position.subevent:
10891089
# Subevent date in filename improves accessibility e.g. for screen reader users
1090-
resp['Content-Disposition'] = 'attachment; filename="{}-{}-{}-{}-{}{}"'.format(
1090+
resp['Content-Disposition'] = 'attachment; filename="{}-{}-{}-{}{}"'.format(
10911091
self.request.event.slug.upper(),
10921092
self.order.code,
10931093
self.order_position.positionid,
10941094
self.order_position.subevent.date_from.strftime('%Y_%m_%d'),
1095-
self.output.identifier,
10961095
value.extension,
10971096
)
10981097
else:
1099-
resp['Content-Disposition'] = 'attachment; filename="{}-{}-{}-{}{}"'.format(
1098+
resp['Content-Disposition'] = 'attachment; filename="{}-{}-{}{}"'.format(
11001099
self.request.event.slug.upper(),
11011100
self.order.code,
11021101
self.order_position.positionid,
1103-
self.output.identifier,
11041102
value.extension,
11051103
)
11061104
return resp
11071105
elif isinstance(value, CachedCombinedTicket):
11081106
resp = FileResponse(value.file.file, content_type=value.type)
1109-
resp['Content-Disposition'] = 'attachment; filename="{}-{}-{}{}"'.format(
1107+
resp['Content-Disposition'] = 'attachment; filename="{}-{}{}"'.format(
11101108
self.request.event.slug.upper(),
11111109
self.order.code,
1112-
self.output.identifier,
11131110
value.extension,
11141111
)
11151112
return resp

0 commit comments

Comments
 (0)