Support for reduced registration fee

This commit is contained in:
2020-12-09 17:45:15 +01:00
parent 3f3bb2512b
commit baabbba7fb
14 changed files with 171 additions and 58 deletions

View File

@@ -28,7 +28,15 @@ 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'))
year_of_birth = models.IntegerField(verbose_name=_('Geburtsjahr'),
help_text=_('Vierstellige Jahreszahl'))
apply_reduced_fee = models.BooleanField(default=False,
verbose_name=_('Antrag auf reduzierte Teilnahmegebühr'),
help_text=_('Für Jugendliche und Junioren'
' (bis zum vollendeten 25. Lebensjahr),'
' sowie Mitglieder mit geringen finanziellen Mitteln'
' (Nachweis durch "Karlsruher Pass"),'
' wird die Teilnahmegebühr auf 50% ermäßigt.'))
dav_member = models.BooleanField(default=True,
verbose_name=_('DAV Mitglied'),
help_text=_('In Ausnahmefällen nehmen wir auch Nichtmitglieder mit.'))
@@ -69,6 +77,7 @@ class AbstractParticipant(models.Model):
DAV Mitglied: {dav_info}
Jahrgang: {year_of_birth} (ungefähres Alter: {approx_age})
Antrag auf reduzierte Teilnehmergebühr: {apply_reduced_fee_yesno}
Notfallkontakt:
{emergency_contact}
@@ -81,6 +90,11 @@ class AbstractParticipant(models.Model):
else:
dav_info = self.dav_number
if self.apply_reduced_fee:
apply_reduced_fee_yesno = _('Ja')
else:
apply_reduced_fee_yesno = _('Nein')
return text.format(
fullname=self.get_full_name(),
address=self.address,
@@ -89,6 +103,7 @@ class AbstractParticipant(models.Model):
dav_info=dav_info,
year_of_birth=self.year_of_birth,
approx_age=self.approx_age(),
apply_reduced_fee_yesno=apply_reduced_fee_yesno,
emergency_contact=self.emergency_contact,
note=self.note,
)
@@ -96,7 +111,8 @@ class AbstractParticipant(models.Model):
def get_data_dict(self):
data = {}
for field in self._meta.fields:
data[field.name] = getattr(self, field.name)
if not field.primary_key:
data[field.name] = getattr(self, field.name)
return data
def clean(self):