From 826bd07b01c4ae661c8b0874d70f7089fe4ca3b2 Mon Sep 17 00:00:00 2001 From: Mira Date: Mon, 28 Oct 2024 12:25:03 +0100 Subject: [PATCH] Add action buttons to "missing quota" warnings (#4533) * Add action buttons to "missing quota" warnings * Update item.py --- .../templates/pretixcontrol/item/base.html | 20 +++++++++++++++---- .../item/include_variations.html | 20 +++++++++++++++---- src/pretix/control/views/item.py | 5 ++++- .../static/pretixcontrol/js/ui/quota.js | 6 ++++-- 4 files changed, 40 insertions(+), 11 deletions(-) diff --git a/src/pretix/control/templates/pretixcontrol/item/base.html b/src/pretix/control/templates/pretixcontrol/item/base.html index 6c0c4a59b6..78a3e48d3d 100644 --- a/src/pretix/control/templates/pretixcontrol/item/base.html +++ b/src/pretix/control/templates/pretixcontrol/item/base.html @@ -12,10 +12,22 @@ {% endif %} {% if object.id and not object.quotas.exists %}
- {% blocktrans trimmed %} - Please note that your product will not be available for sale until you have added your - item to an existing or newly created quota. - {% endblocktrans %} +
+
+ {% blocktrans trimmed %} + Please note that your product will not be available for sale until you have added your + item to an existing or newly created quota. + {% endblocktrans %} +
+ +
{% elif object.pk and not object.is_available_by_time %}
diff --git a/src/pretix/control/templates/pretixcontrol/item/include_variations.html b/src/pretix/control/templates/pretixcontrol/item/include_variations.html index 0318cfffb4..5ebb98d287 100644 --- a/src/pretix/control/templates/pretixcontrol/item/include_variations.html +++ b/src/pretix/control/templates/pretixcontrol/item/include_variations.html @@ -67,10 +67,22 @@
{% if form.instance.pk and not form.instance.quotas.exists %}
- {% blocktrans trimmed %} - Please note that your variation will not be available for sale - until you have added it to an existing or newly created quota. - {% endblocktrans %} +
+
+ {% blocktrans trimmed %} + Please note that your variation will not be available for sale + until you have added it to an existing or newly created quota. + {% endblocktrans %} +
+ +
{% endif %} {% bootstrap_form_errors form %} diff --git a/src/pretix/control/views/item.py b/src/pretix/control/views/item.py index 325b3e10b4..79e1fb2971 100644 --- a/src/pretix/control/views/item.py +++ b/src/pretix/control/views/item.py @@ -920,16 +920,19 @@ class QuotaCreate(EventPermissionRequiredMixin, CreateView): def get_form_kwargs(self): kwargs = super().get_form_kwargs() + kwargs.setdefault('initial', {}) if self.copy_from: i = modelcopy(self.copy_from) i.pk = None kwargs['instance'] = i - kwargs.setdefault('initial', {}) kwargs['initial']['itemvars'] = [str(i.pk) for i in self.copy_from.items.all()] + [ '{}-{}'.format(v.item_id, v.pk) for v in self.copy_from.variations.all() ] else: kwargs['instance'] = Quota(event=self.request.event) + if 'product' in self.request.GET: + kwargs['initial']['itemvars'] = self.request.GET.getlist('product') + return kwargs def form_invalid(self, form): diff --git a/src/pretix/static/pretixcontrol/js/ui/quota.js b/src/pretix/static/pretixcontrol/js/ui/quota.js index 9d8a060e25..b8a9f1e0da 100644 --- a/src/pretix/static/pretixcontrol/js/ui/quota.js +++ b/src/pretix/static/pretixcontrol/js/ui/quota.js @@ -29,7 +29,7 @@ $(function () { autofill = false; }) - $("input[name=itemvars]").change(function () { + function do_autofill() { if (autofill) { var names = []; $("input[name=itemvars]:checked").each(function () { @@ -37,5 +37,7 @@ $(function () { }); $("#id_name").val(names.join(', ')); } - }); + } + $("input[name=itemvars]").change(do_autofill); + do_autofill(); });