From 3a1a6b988e7cade51c0039e02d918d4f060cf0ba Mon Sep 17 00:00:00 2001
From: Mira Weller
Date: Tue, 28 Apr 2026 19:23:35 +0200
Subject: [PATCH] improve i18n, implement "add text block" dialog
---
.../pretixcontrol/items/questionnaires.html | 2 +
.../js/ui/questionnaires/I18nTextField.vue | 6 +-
.../js/ui/questionnaires/Question.vue | 60 +++++++++--------
.../js/ui/questionnaires/Questionnaire.vue | 64 ++++++++++++++++---
.../pretixcontrol/js/ui/questionnaires/api.ts | 8 +++
5 files changed, 103 insertions(+), 37 deletions(-)
diff --git a/src/pretix/control/templates/pretixcontrol/items/questionnaires.html b/src/pretix/control/templates/pretixcontrol/items/questionnaires.html
index 80f7c36e9..1937d172f 100644
--- a/src/pretix/control/templates/pretixcontrol/items/questionnaires.html
+++ b/src/pretix/control/templates/pretixcontrol/items/questionnaires.html
@@ -23,6 +23,8 @@
{% endblocktrans %}
+ {{ request.event.settings.locales|json_script:"event_locales" }}
+
diff --git a/src/pretix/static/pretixcontrol/js/ui/questionnaires/I18nTextField.vue b/src/pretix/static/pretixcontrol/js/ui/questionnaires/I18nTextField.vue
index fdfe1626c..0493fe213 100644
--- a/src/pretix/static/pretixcontrol/js/ui/questionnaires/I18nTextField.vue
+++ b/src/pretix/static/pretixcontrol/js/ui/questionnaires/I18nTextField.vue
@@ -1,5 +1,8 @@
@@ -62,10 +85,9 @@ const dlgAddExisting = ref();
-
-
-
-
+
+
+
@@ -94,7 +116,7 @@ const dlgAddExisting = ref();
-
+
{{ field.internal_name }}
-
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pretix/static/pretixcontrol/js/ui/questionnaires/api.ts b/src/pretix/static/pretixcontrol/js/ui/questionnaires/api.ts
index baf98be44..3409ee04f 100644
--- a/src/pretix/static/pretixcontrol/js/ui/questionnaires/api.ts
+++ b/src/pretix/static/pretixcontrol/js/ui/questionnaires/api.ts
@@ -12,3 +12,11 @@ export async function get_questionnaires() {
export async function get_items() {
return await (await fetch(`/api/v1/organizers/${organizer_slug}/events/${event_slug}/items/`)).json();
}
+
+function get_json_script_value(id) {
+ return JSON.parse(document.getElementById(id).innerText);
+}
+
+export function get_event_locales() {
+ return get_json_script_value('event_locales');
+}