From 435c4acba68237cb81149d1736537225fd93f1a9 Mon Sep 17 00:00:00 2001 From: Johan von Forstner Date: Fri, 3 Aug 2018 10:19:20 +0200 Subject: [PATCH] Widget: set default number to 1 if there is only one product --- src/pretix/presale/views/widget.py | 5 +++-- src/pretix/static/pretixpresale/js/widget/widget.js | 7 +++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/pretix/presale/views/widget.py b/src/pretix/presale/views/widget.py index 5c559d9dd9..f84ad5575f 100644 --- a/src/pretix/presale/views/widget.py +++ b/src/pretix/presale/views/widget.py @@ -195,7 +195,7 @@ class WidgetAPIProductList(View): } for item in g ] }) - return grps, display_add_to_cart + return grps, display_add_to_cart, len(items) def dispatch(self, request, *args, **kwargs): self.subevent = None @@ -274,11 +274,12 @@ class WidgetAPIProductList(View): fail = True if not fail and (ev.presale_is_running or request.event.settings.show_items_outside_presale_period): - data['items_by_category'], data['display_add_to_cart'] = self._get_items() + data['items_by_category'], data['display_add_to_cart'], data['itemnum'] = self._get_items() data['display_add_to_cart'] = data['display_add_to_cart'] and ev.presale_is_running else: data['items_by_category'] = [] data['display_add_to_cart'] = False + data['itemnum'] = 0 vouchers_exist = self.request.event.get_cache().get('vouchers_exist') if vouchers_exist is None: diff --git a/src/pretix/static/pretixpresale/js/widget/widget.js b/src/pretix/static/pretixpresale/js/widget/widget.js index 3ef0b42b7f..b00ca777ac 100644 --- a/src/pretix/static/pretixpresale/js/widget/widget.js +++ b/src/pretix/static/pretixpresale/js/widget/widget.js @@ -150,7 +150,8 @@ Vue.component('availbox', { + '' + '' + '' + + ' :value="$root.itemnum == 1 ? 1 : false" v-bind:max="order_max" v-bind:name="input_name"' + + ' v-if="order_max !== 1">' + '' + ''), props: { @@ -705,7 +706,8 @@ var create_widget = function (element) { error_message: null, error_url_after: null, vouchers_exist: false, - cart_exists: false + cart_exists: false, + itemcount: 0 } }, created: function () { @@ -733,6 +735,7 @@ var create_widget = function (element) { app.cart_id = cart_id; app.cart_exists = data.cart_exists; app.vouchers_exist = data.vouchers_exist; + app.itemnum = data.itemnum; app.loading--; }, function (error) { app.categories = [];