Fix #887 -- Absolute URL for images in widget

This commit is contained in:
Raphael Michel
2018-04-30 10:27:24 +02:00
parent 66eabd3bd6
commit f561ece9d1

View File

@@ -1,6 +1,7 @@
import hashlib import hashlib
import json import json
import logging import logging
from urllib.parse import urljoin
from django.conf import settings from django.conf import settings
from django.contrib.staticfiles import finders from django.contrib.staticfiles import finders
@@ -27,6 +28,7 @@ from pretix.base.services.cart import error_messages
from pretix.base.settings import GlobalSettingsObject from pretix.base.settings import GlobalSettingsObject
from pretix.base.templatetags.rich_text import rich_text from pretix.base.templatetags.rich_text import rich_text
from pretix.helpers.thumb import get_thumbnail from pretix.helpers.thumb import get_thumbnail
from pretix.multidomain.urlreverse import build_absolute_uri
from pretix.presale.views.cart import get_or_create_cart_id from pretix.presale.views.cart import get_or_create_cart_id
from pretix.presale.views.event import ( from pretix.presale.views.event import (
get_grouped_items, item_group_by_category, get_grouped_items, item_group_by_category,
@@ -141,8 +143,8 @@ def price_dict(price):
} }
def get_picture(picture): def get_picture(event, picture):
return get_thumbnail(picture.name, '60x60^').thumb.url return urljoin(build_absolute_uri(event, 'presale:event.index'), get_thumbnail(picture.name, '60x60^').thumb.url)
class WidgetAPIProductList(View): class WidgetAPIProductList(View):
@@ -161,7 +163,7 @@ class WidgetAPIProductList(View):
{ {
'id': item.pk, 'id': item.pk,
'name': str(item.name), 'name': str(item.name),
'picture': get_picture(item.picture) if item.picture else None, 'picture': 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, 'description': str(rich_text(item.description, safelinks=False)) if item.description else None,
'has_variations': item.has_variations, 'has_variations': item.has_variations,
'require_voucher': item.require_voucher, 'require_voucher': item.require_voucher,