From 3f3bb2512be97742e445d0a2e24c333f86cb078d Mon Sep 17 00:00:00 2001 From: heinzel Date: Wed, 9 Dec 2020 13:45:25 +0100 Subject: [PATCH] participants: added support for year of birth --- .../migrations/0037_auto_20201209_1327.py | 27 +++++++++++++++++++ dav_events/models/participant.py | 9 +++++++ .../dav_events/includes/participant_form.html | 7 +++-- dav_events/views/events.py | 1 + 4 files changed, 42 insertions(+), 2 deletions(-) create mode 100644 dav_events/migrations/0037_auto_20201209_1327.py diff --git a/dav_events/migrations/0037_auto_20201209_1327.py b/dav_events/migrations/0037_auto_20201209_1327.py new file mode 100644 index 0000000..9e0b287 --- /dev/null +++ b/dav_events/migrations/0037_auto_20201209_1327.py @@ -0,0 +1,27 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.29 on 2020-12-09 12:27 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('dav_events', '0036_trashedparticipant'), + ] + + operations = [ + migrations.AddField( + model_name='participant', + name='year_of_birth', + field=models.IntegerField(default=1870, verbose_name='Geburtsjahr'), + preserve_default=False, + ), + migrations.AddField( + model_name='trashedparticipant', + name='year_of_birth', + field=models.IntegerField(default=1870, verbose_name='Geburtsjahr'), + preserve_default=False, + ), + ] diff --git a/dav_events/models/participant.py b/dav_events/models/participant.py index 85472bb..1f49736 100644 --- a/dav_events/models/participant.py +++ b/dav_events/models/participant.py @@ -28,6 +28,7 @@ class AbstractParticipant(models.Model): email_address = models.EmailField(verbose_name=_('E-Mail-Adresse')) phone_number = models.CharField(max_length=254, verbose_name=_('Telefonnummer')) + year_of_birth = models.IntegerField(verbose_name=_('Geburtsjahr')) dav_member = models.BooleanField(default=True, verbose_name=_('DAV Mitglied'), help_text=_('In Ausnahmefällen nehmen wir auch Nichtmitglieder mit.')) @@ -48,6 +49,11 @@ class AbstractParticipant(models.Model): purge_at = models.DateTimeField() + def approx_age(self): + now = datetime.datetime.now() + year_now = now.year + return year_now - self.year_of_birth + class Meta: abstract = True @@ -62,6 +68,7 @@ class AbstractParticipant(models.Model): {address}, {postal_code} {city} DAV Mitglied: {dav_info} + Jahrgang: {year_of_birth} (ungefähres Alter: {approx_age}) Notfallkontakt: {emergency_contact} @@ -80,6 +87,8 @@ class AbstractParticipant(models.Model): postal_code=self.postal_code, city=self.city, dav_info=dav_info, + year_of_birth=self.year_of_birth, + approx_age=self.approx_age(), emergency_contact=self.emergency_contact, note=self.note, ) diff --git a/dav_events/templates/dav_events/includes/participant_form.html b/dav_events/templates/dav_events/includes/participant_form.html index 9279bd4..837b7b6 100644 --- a/dav_events/templates/dav_events/includes/participant_form.html +++ b/dav_events/templates/dav_events/includes/participant_form.html @@ -21,12 +21,15 @@
-
+
{% bootstrap_field form.email_address %}
-
+
{% bootstrap_field form.phone_number %}
+
+ {% bootstrap_field form.year_of_birth %} +
diff --git a/dav_events/views/events.py b/dav_events/views/events.py index b4e21f8..80cdf49 100644 --- a/dav_events/views/events.py +++ b/dav_events/views/events.py @@ -284,6 +284,7 @@ class EventRegistrationsView(EventPermissionMixin, generic.DetailView): 'postal_code': registration.postal_code, 'city': registration.city, 'email_address': registration.email_address, + 'year_of_birth': registration.year_of_birth, 'phone_number': registration.phone_number, 'dav_member': registration.dav_member, 'dav_number': registration.dav_number,