feat: integrate with MailJet API for newsletter registration

This commit is contained in:
Björn Fromme
2026-03-19 09:42:00 +01:00
parent 66c55f0722
commit d1e2bf3e7d
26 changed files with 1537 additions and 47 deletions
+23
View File
@@ -25,6 +25,24 @@ class BookingCreateStep4Type extends AbstractType
htmlspecialchars($this->termsAndConditionsUrl, ENT_QUOTES, 'UTF-8')
);
$newsletterTargetEmail = $options['newsletter_target_email'];
$newsletterLabel = 'Ich möchte den Newsletter erhalten und bestätige meine Anmeldung per E-Mail.';
if (is_string($newsletterTargetEmail) && '' !== trim($newsletterTargetEmail)) {
$newsletterLabel = sprintf(
'Ich möchte den Newsletter für %s erhalten und bestätige meine Anmeldung per E-Mail.',
htmlspecialchars($newsletterTargetEmail, ENT_QUOTES, 'UTF-8')
);
}
if (true === $options['show_newsletter_opt_in']) {
$builder->add('newsletterOptIn', CheckboxType::class, [
'label' => $newsletterLabel,
'label_html' => true,
'mapped' => false,
'required' => false,
]);
}
$builder
->add('confirmationAccepted', CheckboxType::class, [
'label' => 'Ich bestätige, dass alle Angaben korrekt sind und möchte verbindlich buchen.',
@@ -52,6 +70,11 @@ class BookingCreateStep4Type extends AbstractType
{
$resolver->setDefaults([
'data_class' => BookingDto::class,
'show_newsletter_opt_in' => false,
'newsletter_target_email' => null,
]);
$resolver->setAllowedTypes('show_newsletter_opt_in', 'bool');
$resolver->setAllowedTypes('newsletter_target_email', ['null', 'string']);
}
}