diff --git a/src/pretix/presale/views/widget.py b/src/pretix/presale/views/widget.py index b1e1d5d38..1a4131ec8 100644 --- a/src/pretix/presale/views/widget.py +++ b/src/pretix/presale/views/widget.py @@ -212,11 +212,14 @@ def price_dict(item, price): } -def get_picture(event, picture): - try: - thumb = get_thumbnail(picture.name, '60x60^').thumb.url - except: - logger.exception(f'Failed to create thumbnail of {picture.name}') +def get_picture(event, picture, size=None): + thumb = None + if size: + try: + thumb = get_thumbnail(picture.name, size).thumb.url + except: + logger.exception(f'Failed to create thumbnail of {picture.name}') + if not thumb: thumb = default_storage.url(picture.name) return urljoin(build_absolute_uri(event, 'presale:event.index'), thumb) @@ -264,7 +267,8 @@ class WidgetAPIProductList(EventListMixin, View): { 'id': item.pk, 'name': str(item.name), - 'picture': get_picture(self.request.event, item.picture) if item.picture else None, + 'picture': get_picture(self.request.event, item.picture, '60x60^') if item.picture else None, + 'picture_fullsize': get_picture(self.request.event, item.picture) if item.picture else None, 'description': str(rich_text(item.description, safelinks=False)) if item.description else None, 'has_variations': item.has_variations, 'require_voucher': item.require_voucher, diff --git a/src/pretix/static/pretixpresale/js/widget/widget.js b/src/pretix/static/pretixpresale/js/widget/widget.js index edcc24c73..84a0aa0cc 100644 --- a/src/pretix/static/pretixpresale/js/widget/widget.js +++ b/src/pretix/static/pretixpresale/js/widget/widget.js @@ -450,7 +450,7 @@ Vue.component('item', { // Product description + '