From f1969e783f433a7514eb643f89a07fff186a192c Mon Sep 17 00:00:00 2001 From: Raphael Michel Date: Mon, 20 Nov 2023 10:18:19 +0100 Subject: [PATCH] Export form: Add note on multisheet exporters --- .../templates/pretixcontrol/orders/export_form.html | 11 +++++++++++ .../pretixcontrol/organizers/export_form.html | 11 +++++++++++ src/pretix/control/views/orders.py | 2 ++ src/pretix/control/views/organizer.py | 5 ++++- 4 files changed, 28 insertions(+), 1 deletion(-) diff --git a/src/pretix/control/templates/pretixcontrol/orders/export_form.html b/src/pretix/control/templates/pretixcontrol/orders/export_form.html index 467be34a5..50b8e1d1d 100644 --- a/src/pretix/control/templates/pretixcontrol/orders/export_form.html +++ b/src/pretix/control/templates/pretixcontrol/orders/export_form.html @@ -25,6 +25,17 @@
{% trans "Export options" %} {% bootstrap_form exporter.form layout='control' %} + + {% if "_format" in exporter.form.fields and exporter.multisheet_warning %} +
+
+ {% blocktrans trimmed %} + Your generated Excel file will have multiple sheets. Some data you are + looking for might not be on the first sheet. + {% endblocktrans %} +
+
+ {% endif %}
{% if schedule_form %} {% include "pretixcontrol/orders/fragment_export_schedule_form.html" %} diff --git a/src/pretix/control/templates/pretixcontrol/organizers/export_form.html b/src/pretix/control/templates/pretixcontrol/organizers/export_form.html index dc948936b..0611acfbf 100644 --- a/src/pretix/control/templates/pretixcontrol/organizers/export_form.html +++ b/src/pretix/control/templates/pretixcontrol/organizers/export_form.html @@ -26,6 +26,17 @@
{% trans "Export options" %} {% bootstrap_form exporter.form layout='control' %} + + {% if "_format" in exporter.form.fields and exporter.multisheet_warning %} +
+
+ {% blocktrans trimmed %} + Your generated Excel file will have multiple sheets. Some data you are + looking for might not be on the first sheet. + {% endblocktrans %} +
+
+ {% endif %}
{% if schedule_form %} {% include "pretixcontrol/orders/fragment_export_schedule_form.html" %} diff --git a/src/pretix/control/views/orders.py b/src/pretix/control/views/orders.py index d2d1c3a96..22363c624 100644 --- a/src/pretix/control/views/orders.py +++ b/src/pretix/control/views/orders.py @@ -74,6 +74,7 @@ from i18nfield.strings import LazyI18nString from pretix.base.channels import get_all_sales_channels from pretix.base.decimal import round_decimal from pretix.base.email import get_email_context +from pretix.base.exporter import MultiSheetListExporter from pretix.base.i18n import language from pretix.base.models import ( CachedCombinedTicket, CachedFile, CachedTicket, Checkin, Invoice, @@ -2479,6 +2480,7 @@ class ExportMixin: prefix=ex.identifier, initial=initial ) + ex.multisheet_warning = isinstance(ex, MultiSheetListExporter) and len(ex.sheets) > 1 ex.form.fields = ex.export_form_fields return ex diff --git a/src/pretix/control/views/organizer.py b/src/pretix/control/views/organizer.py index c902a371c..e817128de 100644 --- a/src/pretix/control/views/organizer.py +++ b/src/pretix/control/views/organizer.py @@ -72,7 +72,9 @@ from pretix.api.models import ApiCall, WebHook from pretix.api.webhooks import manually_retry_all_calls from pretix.base.auth import get_auth_backends from pretix.base.channels import get_all_sales_channels -from pretix.base.exporter import OrganizerLevelExportMixin +from pretix.base.exporter import ( + MultiSheetListExporter, OrganizerLevelExportMixin, +) from pretix.base.i18n import language from pretix.base.models import ( CachedFile, Customer, Device, Gate, GiftCard, Invoice, LogEntry, @@ -1665,6 +1667,7 @@ class ExportMixin: prefix=ex.identifier, initial=initial ) + ex.multisheet_warning = isinstance(ex, MultiSheetListExporter) and len(ex.sheets) > 1 ex.form.fields = ex.export_form_fields if not isinstance(ex, OrganizerLevelExportMixin): ex.form.fields.update([