Mindestalter für Alkoholkonsum
@@ -223,7 +242,7 @@ const emit = defineEmits(['close'])
- Teilnehmende Stämme
+ Teilnehmende {{ dynmicProps.localGroupLabelPlural }}
diff --git a/app/Domains/Event/Views/Partials/ParticipantData.vue b/app/Domains/Event/Views/Partials/ParticipantData.vue
index 15ad0e3..0b963f8 100644
--- a/app/Domains/Event/Views/Partials/ParticipantData.vue
+++ b/app/Domains/Event/Views/Partials/ParticipantData.vue
@@ -42,7 +42,7 @@ const form = reactive({
address_2: '',
postcode: '',
city: '',
- localgroup: '',
+ participantGroup: '',
birthday: '',
email_1: '',
phone_1: '',
@@ -71,6 +71,9 @@ const form = reactive({
// Teilnahmeoptionen des Events (Definition mit Titel/Frage/Optionen).
const participationQuestions = computed(() => staticProps.event?.participationOptions ?? []);
+// Bezeichnung der gewählten Gruppe (z. B. „Stamm" oder „Bund"), je nach Einstellung der Veranstaltung.
+const localGroupLabel = computed(() => staticProps.event?.participantGroupLabel ?? 'Stamm');
+
// Zusatzoptionen (Event-Addons) des Events.
const eventAddons = computed(() => staticProps.event?.addons ?? []);
@@ -95,7 +98,7 @@ watch(
form.address_2 = participant?.address_2 ?? '';
form.postcode = participant?.postcode ?? '';
form.city = participant?.city ?? '';
- form.localgroup = participant?.local_group ?? '';
+ form.participantGroup = participant?.participantGroupValue ?? '';
form.birthday = participant?.birthdayDate ?? '';
form.email_1 = participant?.email_1 ?? '';
form.phone_1 = participant?.phone_1 ?? '';
@@ -229,12 +232,12 @@ function saveParticipant() {
- Stamm
+ {{ localGroupLabel }}
- {{ props.participant.localgroup }}
-
- Kein Stamm
- {{ group.name }}
+ {{ props.participant.participantGroup }}
+
+ Keine Angabe
+ {{ group.name }}
diff --git a/app/Domains/Event/Views/Partials/ParticipantsList.vue b/app/Domains/Event/Views/Partials/ParticipantsList.vue
index bc85933..e1d4a60 100644
--- a/app/Domains/Event/Views/Partials/ParticipantsList.vue
+++ b/app/Domains/Event/Views/Partials/ParticipantsList.vue
@@ -162,7 +162,7 @@ async function saveParticipant(formData) {
document.getElementById('participant-' + data.participant.identifier + '-fullname').innerHTML = data.participant.fullname;
document.getElementById('participant-' + data.participant.identifier + '-birthday').innerText = data.participant.birthday;
document.getElementById('participant-' + data.participant.identifier + '-age').innerText = data.participant.age;
- document.getElementById('participant-' + data.participant.identifier + '-localgroup').innerText = data.participant.localgroup;
+ document.getElementById('participant-' + data.participant.identifier + '-localgroup').innerText = data.participant.participantGroup;
document.getElementById('participant-' + data.participant.identifier + '-arrival').innerText = data.participant.arrival;
document.getElementById('participant-' + data.participant.identifier + '-departure').innerText = data.participant.departure;
document.getElementById('participant-' + data.participant.identifier + '-email_1').innerText = data.participant.email_1;
@@ -641,7 +641,7 @@ function mailToGroup(groupKey) {
- {{ participant?.localgroup ?? "-" }}
+ {{ participant?.participantGroup ?? "-" }}
|
Anreise:
diff --git a/app/Domains/Event/Views/Partials/ShortSignUpForm/composables/useShortSignupForm.js b/app/Domains/Event/Views/Partials/ShortSignUpForm/composables/useShortSignupForm.js
index f645f93..b103041 100644
--- a/app/Domains/Event/Views/Partials/ShortSignUpForm/composables/useShortSignupForm.js
+++ b/app/Domains/Event/Views/Partials/ShortSignUpForm/composables/useShortSignupForm.js
@@ -13,10 +13,12 @@ export function useShortSignupForm(event, participantData) {
// Gibt es nur eine Zahlungsart, wird sie vorausgewählt und der Zahlungsschritt entfällt.
const activeMethods = (event.paymentMethods ?? []).filter(m => m.active)
- // Bei genau einem teilnehmenden Stamm wird dieser gesetzt, ohne danach zu fragen; erst ab zwei
- // Stämmen erscheint das Auswahlfeld.
- const localGroups = event.contributingLocalGroups ?? []
+ // Auswahl je nach Veranstaltung: teilnehmende Stämme oder deren Bünde. Bei genau einer Option wird diese
+ // gesetzt, ohne danach zu fragen; erst ab zwei Optionen erscheint das Auswahlfeld.
+ const localGroups = event.participantGroupOptions ?? []
const needsLocalGroup = localGroups.length > 1
+ // Vorbelegung mit dem Stamm des eingeloggten Nutzers nur, wenn er zur Auswahl gehört (bei Bund-Abfrage nie).
+ const preselectedGroup = localGroups.some(g => g.id === participantData.localGroup) ? participantData.localGroup : '-1'
const formData = reactive({
userId: participantData.id,
@@ -26,7 +28,7 @@ export function useShortSignupForm(event, participantData) {
geburtsdatum: participantData.birthday ?? '',
email_1: participantData.email ?? '',
telefon_1: participantData.phone ?? '',
- localGroup: localGroups.length === 1 ? localGroups[0].id : (participantData.localGroup ?? '-1'),
+ localGroup: localGroups.length === 1 ? localGroups[0].id : preselectedGroup,
ansprechpartner: '',
email_2: '',
allergien: participantData.allergies ?? '',
diff --git a/app/Domains/Event/Views/Partials/ShortSignUpForm/steps/ShortStepPerson.vue b/app/Domains/Event/Views/Partials/ShortSignUpForm/steps/ShortStepPerson.vue
index 0b3e625..e3d7a47 100644
--- a/app/Domains/Event/Views/Partials/ShortSignUpForm/steps/ShortStepPerson.vue
+++ b/app/Domains/Event/Views/Partials/ShortSignUpForm/steps/ShortStepPerson.vue
@@ -11,6 +11,9 @@ const props = defineProps({
})
const emit = defineEmits(['next'])
+// Bezeichnung der Auswahl (z. B. „Stamm" oder „Bund"), je nach Einstellung der Veranstaltung.
+const localGroupLabel = props.event?.participantGroupLabel ?? 'Stamm'
+
const errors = reactive({
vorname: '',
nachname: '',
@@ -46,7 +49,7 @@ const next = () => {
}
if (props.needsLocalGroup && (!props.formData.localGroup || props.formData.localGroup === '-1')) {
- errors.localGroup = 'Bitte einen Stamm auswählen.'
+ errors.localGroup = 'Bitte bei „' + localGroupLabel + '" eine Auswahl treffen.'
hasError = true
}
@@ -122,7 +125,7 @@ const next = () => {
- Stamm:
+ {{ localGroupLabel }}:
Bitte wählen
diff --git a/app/Domains/Event/Views/Partials/ShortSignUpForm/steps/ShortStepSummary.vue b/app/Domains/Event/Views/Partials/ShortSignUpForm/steps/ShortStepSummary.vue
index 1b1b7c4..f44d45e 100644
--- a/app/Domains/Event/Views/Partials/ShortSignUpForm/steps/ShortStepSummary.vue
+++ b/app/Domains/Event/Views/Partials/ShortSignUpForm/steps/ShortStepSummary.vue
@@ -43,9 +43,9 @@ const selectedParticipationOptions = computed(() =>
}).filter(entry => entry.value !== '')
)
-// Der Stamm steht entweder fest (genau ein teilnehmender Stamm) oder wurde auf Seite 1 gewählt.
+// Die Gruppe (Stamm oder Bund) steht entweder fest (genau eine Option) oder wurde auf Seite 1 gewählt.
const localGroupName = computed(() =>
- (props.event.contributingLocalGroups ?? []).find(g => g.id === props.formData.localGroup)?.name ?? null
+ (props.event.participantGroupOptions ?? []).find(g => g.id === props.formData.localGroup)?.name ?? null
)
const permissionName = (list, slug) =>
@@ -84,7 +84,7 @@ const canSubmit = computed(() =>
{{ formData.telefon_1 }}
- Stamm:
+ {{ event.participantGroupLabel ?? 'Stamm' }}:
{{ localGroupName }}
diff --git a/app/Domains/Event/Views/Partials/SignUpForm/SignupForm.vue b/app/Domains/Event/Views/Partials/SignUpForm/SignupForm.vue
index e051dd2..11c008b 100644
--- a/app/Domains/Event/Views/Partials/SignUpForm/SignupForm.vue
+++ b/app/Domains/Event/Views/Partials/SignUpForm/SignupForm.vue
@@ -92,7 +92,7 @@ const steps = [