diff --git a/app/stiftung/admin/destinataere.py b/app/stiftung/admin/destinataere.py
index 8d67b78..673cee3 100644
--- a/app/stiftung/admin/destinataere.py
+++ b/app/stiftung/admin/destinataere.py
@@ -24,7 +24,7 @@ class DestinataerAdmin(admin.ModelAdmin):
fieldsets = (
(
"Persönliche Daten",
- {"fields": ("vorname", "nachname", "geburtsdatum", "email", "telefon")},
+ {"fields": ("anrede", "vorname", "nachname", "geburtsdatum", "email", "telefon")},
),
(
"Berufliche Informationen",
diff --git a/app/stiftung/forms/destinataere.py b/app/stiftung/forms/destinataere.py
index ceb989b..a37a948 100644
--- a/app/stiftung/forms/destinataere.py
+++ b/app/stiftung/forms/destinataere.py
@@ -54,18 +54,14 @@ class DestinataerForm(forms.ModelForm):
for field_name, field in self.fields.items():
if field_name not in ["vorname", "nachname"]:
field.required = False
- # Set choices for familienzweig and berufsgruppe to match model
+ # Set choices for familienzweig, berufsgruppe and anrede to match model
self.fields["familienzweig"].choices = [("", "Bitte wählen...")] + list(Destinataer.FAMILIENZWIG_CHOICES)
self.fields["berufsgruppe"].choices = [("", "Bitte wählen...")] + list(Destinataer.BERUFSGRUPPE_CHOICES)
+ if "anrede" in self.fields:
+ self.fields["anrede"].choices = [("", "Bitte wählen...")] + list(Destinataer.ANREDE_CHOICES)
# Set choices for standard_konto to allow blank
self.fields["standard_konto"].empty_label = "---"
- def __init__(self, *args, **kwargs):
- super().__init__(*args, **kwargs)
- for field_name, field in self.fields.items():
- if field_name not in ["vorname", "nachname"]:
- field.required = False
-
class DestinataerUnterstuetzungForm(forms.ModelForm):
"""Form für geplante/ausgeführte Destinatärunterstützungen"""
diff --git a/app/stiftung/migrations/0063_add_anrede_to_destinataer.py b/app/stiftung/migrations/0063_add_anrede_to_destinataer.py
new file mode 100644
index 0000000..fa16786
--- /dev/null
+++ b/app/stiftung/migrations/0063_add_anrede_to_destinataer.py
@@ -0,0 +1,18 @@
+# Generated by Django 5.0.6 on 2026-03-21 21:45
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('stiftung', '0062_veranstaltungseinladung_vorlage'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='destinataer',
+ name='anrede',
+ field=models.CharField(blank=True, choices=[('Herr', 'Herr'), ('Frau', 'Frau'), ('Divers', 'Divers')], max_length=20, null=True, verbose_name='Anrede'),
+ ),
+ ]
diff --git a/app/stiftung/models/destinataere.py b/app/stiftung/models/destinataere.py
index 190990f..ba716dc 100644
--- a/app/stiftung/models/destinataere.py
+++ b/app/stiftung/models/destinataere.py
@@ -26,7 +26,20 @@ class Destinataer(models.Model):
("andere", "Andere"),
]
+ ANREDE_CHOICES = [
+ ("Herr", "Herr"),
+ ("Frau", "Frau"),
+ ("Divers", "Divers"),
+ ]
+
id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
+ anrede = models.CharField(
+ max_length=20,
+ choices=ANREDE_CHOICES,
+ blank=True,
+ null=True,
+ verbose_name="Anrede",
+ )
familienzweig = models.CharField(
max_length=100, choices=FAMILIENZWIG_CHOICES, blank=True, null=True
)
diff --git a/app/templates/stiftung/destinataer_detail.html b/app/templates/stiftung/destinataer_detail.html
index 91faca8..880364a 100644
--- a/app/templates/stiftung/destinataer_detail.html
+++ b/app/templates/stiftung/destinataer_detail.html
@@ -157,6 +157,18 @@
+
+ | Anrede |
+
+ {{ destinataer.anrede|default:"-" }}
+
+ |
+
| Vorname |
diff --git a/app/templates/stiftung/destinataer_form.html b/app/templates/stiftung/destinataer_form.html
index 00b33d8..15a7d72 100644
--- a/app/templates/stiftung/destinataer_form.html
+++ b/app/templates/stiftung/destinataer_form.html
@@ -48,6 +48,13 @@
+
+ | Anrede |
+
+ {{ form.anrede }}
+ {% if form.anrede.errors %} {{ form.anrede.errors.0 }} {% endif %}
+ |
+
| Vorname * |
| |