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

@@ -25,6 +25,9 @@ class RegistrationForm(forms.ModelForm):
'experience': forms.Textarea(attrs={'rows': 5}),
'note': forms.Textarea(attrs={'rows': 5}),
}
labels = {
'apply_reduced_fee': _('Ich bin noch keine 25 Jahre alt oder besitze einen "Karlsruher Pass".'),
}
def clean_year_of_birth(self):
now = datetime.datetime.now()

View File

@@ -0,0 +1,20 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.11.29 on 2020-12-09 14:16
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('dav_registration', '0009_registration_year_of_birth'),
]
operations = [
migrations.AddField(
model_name='registration',
name='apply_reduced_fee',
field=models.BooleanField(default=False, 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.', verbose_name='Antrag auf reduzierte Teilnahmegebühr'),
),
]

View File

@@ -46,6 +46,14 @@ class Registration(models.Model):
' Darum brauchen wir die vierstellige Jahreszahl,'
' des Jahres in dem du geboren bist (zb. 1991).'))
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'))
dav_number = models.CharField(max_length=62,
@@ -125,6 +133,7 @@ class Registration(models.Model):
DAV Mitglied: {dav_info}
Jahrgang: {year_of_birth} (ungefähres Alter: {approx_age})
Antrag auf reduzierte Teilnehmergebühr: {apply_reduced_fee_yesno}
Erfahrung:
{experience}
@@ -137,6 +146,11 @@ Anmerkung:
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,
@@ -145,6 +159,7 @@ Anmerkung:
dav_info=dav_info,
year_of_birth=self.year_of_birth,
approx_age=self.approx_age(),
apply_reduced_fee_yesno=apply_reduced_fee_yesno,
experience=self.experience,
note=self.note,
)

View File

@@ -23,6 +23,7 @@ Personendaten
Telefon: {{ registration.phone_number }}
E-Mail: {{ registration.email_address }}
Jahrgang: {{ registration.year_of_birth }}
Antrag auf reduzierte Teilnahmegebühr: {% if registration.apply_reduced_fee %}Ja{% else %}Nein{% endif %}
{% if registration.dav_member %}DAV Mitgliedsnummer: {{ registration.dav_number }}{% else %}DAV Mitglied: Nein{% endif %}
Notfall-Kontakt

View File

@@ -12,6 +12,7 @@ Teilnehmer*in:
{{ registration.phone_number }}
{{ registration.email_address }}
{% if registration.dav_member %}{{ registration.dav_number }}{% else %}Nicht DAV Mitglied{% endif %}
Antrag auf reduzierte Teilnahmegebühr: {% if registration.apply_reduced_fee %}Ja{% else %}Nein{% endif %}
Notfall-Kontakt:
{% if registration.emergency_contact %}{{ registration.emergency_contact }}{% else %}-{% endif %}

View File

@@ -32,8 +32,19 @@
}
}
function year_of_birth_handler() {
var junior_age = 25
var year_now = new Date().getFullYear()
var year_of_birth = parseInt($("#id_year_of_birth").val());
if(year_of_birth > (year_now - junior_age)) {
$("#id_apply_reduced_fee").prop('checked', true);
}
}
$(document).ready(function(){
init_not_dav_member_handler();
var e = $("#id_year_of_birth");
e.change(function(){ year_of_birth_handler(); });
});
</script>
{% endblock head-additional %}
@@ -74,10 +85,10 @@
</div>
</div>
<div class="row">
<div class="col-sm-4">
<div class="col-sm-3">
{% bootstrap_field form.postal_code %}
</div>
<div class="col-sm-8">
<div class="col-sm-9">
{% bootstrap_field form.city %}
</div>
</div>
@@ -93,6 +104,12 @@
<div class="col-sm-3">
{% bootstrap_field form.year_of_birth %}
</div>
<div class="col-sm-9">
<strong>Antrag auf reduzierte Teilnahmegebühr</strong>
{% bootstrap_field form.apply_reduced_fee %}
</div>
</div>
<div class="row">
<div class="col-sm-3">
{% bootstrap_field form.dav_number %}
</div>
@@ -100,11 +117,6 @@
<strong>Nichtmitglieder</strong>
{% bootstrap_field form.not_dav_member %}
</div>
</div>
<div class="row">
<div class="col-sm-6">
<span class="hidden">Antrag auf reduzierten Teilnehmerbeitrag</span>
</div>
<div class="col-sm-6">
{% bootstrap_field form.emergency_contact %}
</div>