Fix #9 Registrations: Add support for non members
All checks were successful
buildbot/tox Build done.
All checks were successful
buildbot/tox Build done.
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user