Widget: Gracefully fail if custom CSS file is not found

This commit is contained in:
Raphael Michel
2021-03-31 09:48:42 +02:00
parent 1d6ed60f37
commit 0155669379
+11 -9
View File
@@ -70,15 +70,17 @@ def widget_js_etag(request, lang, **kwargs):
def widget_css(request, **kwargs): def widget_css(request, **kwargs):
o = getattr(request, 'event', request.organizer) o = getattr(request, 'event', request.organizer)
if o.settings.presale_widget_css_file: if o.settings.presale_widget_css_file:
resp = FileResponse(default_storage.open(o.settings.presale_widget_css_file), try:
content_type='text/css') resp = FileResponse(default_storage.open(o.settings.presale_widget_css_file),
return resp content_type='text/css')
else: return resp
tpl = get_template('pretixpresale/widget_dummy.html') except FileNotFoundError:
et = html.fromstring(tpl.render({})).xpath('/html/head/link')[0].attrib['href'].replace(settings.STATIC_URL, '') pass
f = finders.find(et) tpl = get_template('pretixpresale/widget_dummy.html')
resp = FileResponse(open(f, 'rb'), content_type='text/css') et = html.fromstring(tpl.render({})).xpath('/html/head/link')[0].attrib['href'].replace(settings.STATIC_URL, '')
return resp f = finders.find(et)
resp = FileResponse(open(f, 'rb'), content_type='text/css')
return resp
def generate_widget_js(lang): def generate_widget_js(lang):