Fix #9 Registrations: Add support for non members
All checks were successful
buildbot/tox Build done.

This commit is contained in:
2020-10-15 17:44:12 +02:00
parent 28a35d98d2
commit 63026e429b
16 changed files with 315 additions and 29 deletions

View File

@@ -1,7 +1,7 @@
# -*- coding: utf-8 -*-
import logging
from django import forms
from django.utils.translation import ugettext
from django.utils.translation import ugettext, ugettext_lazy as _
from .models import Registration
@@ -9,10 +9,17 @@ logger = logging.getLogger(__name__)
class RegistrationForm(forms.ModelForm):
not_dav_member = forms.BooleanField(required=False,
label=_('Ich bin noch kein DAV Mitglied.'),
help_text=_('Wenn du noch kein DAV Mitglied bist,'
' oder deine Aufnahme noch in Arbeit ist,'
' kreuze dieses Feld hier an.'))
class Meta:
model = Registration
exclude = ['event', 'created_at', 'privacy_policy', 'purge_at', 'answered']
widgets = {
'dav_member': forms.HiddenInput(),
'emergency_contact': forms.Textarea(attrs={'rows': 4}),
'experience': forms.Textarea(attrs={'rows': 5}),
'note': forms.Textarea(attrs={'rows': 5}),
@@ -41,3 +48,13 @@ class RegistrationForm(forms.ModelForm):
code='privacy_policy_not_accepted',
)
return val
def clean(self):
super(RegistrationForm, self).clean()
dav_member = self.cleaned_data.get('dav_member')
dav_number = self.cleaned_data.get('dav_number')
if dav_member and not dav_number:
error_msg = ugettext(u'Wenn du DAV Mitglied bist, brauchen wir deine Mitgliedsnummer.')
self.add_error('not_dav_member', error_msg)
raise forms.ValidationError(error_msg, code='dav_number_missing')
return self.cleaned_data