From 2a51969b04888ac659c56baa8023163c298ca578 Mon Sep 17 00:00:00 2001 From: Raphael Michel Date: Wed, 23 Oct 2019 15:28:00 +0200 Subject: [PATCH] Add (hidden) location field to event list widget --- src/pretix/presale/views/widget.py | 3 +++ src/pretix/static/pretixpresale/js/widget/widget.js | 5 +++++ src/pretix/static/pretixpresale/scss/widget.scss | 8 ++++++++ 3 files changed, 16 insertions(+) diff --git a/src/pretix/presale/views/widget.py b/src/pretix/presale/views/widget.py index 7bf3467d06..edc31c5064 100644 --- a/src/pretix/presale/views/widget.py +++ b/src/pretix/presale/views/widget.py @@ -319,6 +319,7 @@ class WidgetAPIProductList(EventListMixin, View): 'time': date_format(ev.date_from.astimezone(tz), 'TIME_FORMAT') if e.get('time') and event.settings.show_times else None, 'continued': e['continued'], + 'location': str(ev.location), 'date_range': ev.get_date_range_display() + ( " " + date_format(ev.date_from.astimezone(tz), "TIME_FORMAT") if event.settings.show_times else "" ), @@ -399,6 +400,7 @@ class WidgetAPIProductList(EventListMixin, View): data['events'] = [ { 'name': str(ev.name), + 'location': str(ev.location), 'date_range': ev.get_date_range_display(tz) + ( (" " + ev.get_time_from_display(tz)) if ev.event.settings.show_times else "" ), @@ -425,6 +427,7 @@ class WidgetAPIProductList(EventListMixin, View): avail = self._get_availability(event, event) data['events'].append({ 'name': str(event.name), + 'location': str(event.location), 'date_range': dr, 'availability': avail, 'event_url': build_absolute_uri(event, 'presale:event.index'), diff --git a/src/pretix/static/pretixpresale/js/widget/widget.js b/src/pretix/static/pretixpresale/js/widget/widget.js index 497e85715e..7d5e2c2f59 100644 --- a/src/pretix/static/pretixpresale/js/widget/widget.js +++ b/src/pretix/static/pretixpresale/js/widget/widget.js @@ -798,6 +798,8 @@ Vue.component('pretix-widget-event-list-entry', { template: ('' + '
{{ event.name }}
' + '' + + '
{{ location }}
' // hidden by css for now, but + // used by a few people + '
{{ event.availability.text }}
' + '
'), props: { @@ -810,6 +812,9 @@ Vue.component('pretix-widget-event-list-entry', { }; o['pretix-widget-event-availability-' + this.event.availability.color] = true; return o + }, + location: function () { + return this.event.location.replace(/\s*\n\s*/g, ', '); } }, methods: { diff --git a/src/pretix/static/pretixpresale/scss/widget.scss b/src/pretix/static/pretixpresale/scss/widget.scss index e532a16b09..9b98f024d3 100644 --- a/src/pretix/static/pretixpresale/scss/widget.scss +++ b/src/pretix/static/pretixpresale/scss/widget.scss @@ -390,6 +390,11 @@ padding: 5px; box-sizing: border-box; } + .pretix-widget-event-list-entry-location { + padding: 5px; + box-sizing: border-box; + display: none; + } .pretix-widget-event-list-entry-date { width: 25%; padding: 5px; @@ -673,6 +678,9 @@ .pretix-widget-event-list-entry-name { width: 100%; } + .pretix-widget-event-list-entry-location { + width: 100%; + } .pretix-widget-event-list-entry-date { width: 50%; }