From 65ff065f0242bbf1638906b7a8fa9658e6db2034 Mon Sep 17 00:00:00 2001 From: Raphael Michel Date: Tue, 19 Jan 2021 16:40:44 +0100 Subject: [PATCH] Widget: Show event name and description on level 2 in org > event > date navigation --- src/pretix/presale/views/widget.py | 4 +++ .../static/pretixpresale/js/widget/widget.js | 26 ++++++++++++++++++- 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/src/pretix/presale/views/widget.py b/src/pretix/presale/views/widget.py index 0727f3fa0..197432c6b 100644 --- a/src/pretix/presale/views/widget.py +++ b/src/pretix/presale/views/widget.py @@ -398,6 +398,10 @@ class WidgetAPIProductList(EventListMixin, View): self.request.event.settings.event_list_type = "calendar" data['list_type'] = list_type = 'calendar' + if hasattr(self.request, 'event'): + data['name'] = str(request.event.name) + data['frontpage_text'] = str(rich_text(request.event.settings.frontpage_text, safelinks=False)) + cache_key = ':'.join([ 'widget.py', 'eventlist', diff --git a/src/pretix/static/pretixpresale/js/widget/widget.js b/src/pretix/static/pretixpresale/js/widget/widget.js index ea41c31d5..68a543c57 100644 --- a/src/pretix/static/pretixpresale/js/widget/widget.js +++ b/src/pretix/static/pretixpresale/js/widget/widget.js @@ -907,6 +907,10 @@ Vue.component('pretix-widget-event-list', { + strings['back'] + '' + '' + + '
' + + '{{ $root.name }}' + + '
' + + '
' + '' + ''), methods: { @@ -914,6 +918,8 @@ Vue.component('pretix-widget-event-list', { if (this.$root.weeks) { this.$root.events = undefined; this.$root.view = "weeks"; + this.$root.name = null; + this.$root.frontpage_text = null; } else { this.$root.loading++; this.$root.target_url = this.$root.parent_stack.pop(); @@ -1091,6 +1097,10 @@ Vue.component('pretix-widget-event-calendar', { + strings['back'] + '' + '' + + '
' + + '{{ $root.name }}' + + '
' + + '
' + '
' + '« ' + strings['previous_month'] @@ -1126,6 +1136,8 @@ Vue.component('pretix-widget-event-calendar', { back_to_list: function () { this.$root.weeks = undefined; this.$root.view = "events"; + this.$root.name = null; + this.$root.frontpage_text = null; }, prevmonth: function () { var curMonth = parseInt(this.$root.date.substr(5, 2)); @@ -1161,6 +1173,10 @@ Vue.component('pretix-widget-event-week-calendar', { + strings['back'] + '' + '
' + + '
' + + '{{ $root.name }}' + + '
' + + '
' + '
' + '« ' + strings['previous_week'] @@ -1188,6 +1204,8 @@ Vue.component('pretix-widget-event-week-calendar', { methods: { back_to_list: function () { this.$root.weeks = undefined; + this.$root.name = null; + this.$root.frontpage_text = null; this.$root.view = "events"; }, prevweek: function () { @@ -1347,21 +1365,27 @@ var shared_root_methods = { root.week = null; root.events = undefined; root.view = "weeks"; + root.name = data.name; + root.frontpage_text = data.frontpage_text; } else if (data.days !== undefined) { root.days = data.days; root.date = null; root.week = data.week; root.events = undefined; root.view = "days"; + root.name = data.name; + root.frontpage_text = data.frontpage_text; } else if (data.events !== undefined) { root.events = data.events; root.weeks = undefined; root.view = "events"; + root.name = data.name; + root.frontpage_text = data.frontpage_text; } else { root.view = "event"; root.name = data.name; - root.date_range = data.date_range; root.frontpage_text = data.frontpage_text; + root.date_range = data.date_range; root.categories = data.items_by_category; root.currency = data.currency; root.display_net_prices = data.display_net_prices;