UPD: trainer email address is now optional.
This commit is contained in:
@@ -2,6 +2,7 @@
|
||||
import calendar
|
||||
import datetime
|
||||
import logging
|
||||
import re
|
||||
from babel.dates import format_date
|
||||
from django import forms
|
||||
from django.apps import apps
|
||||
@@ -517,7 +518,9 @@ class TrainerForm(EventCreateForm):
|
||||
max_length=config.TRAINER_NAME_MAX_LENGTH)
|
||||
trainer_familyname = forms.CharField(label=_(u'Familienname'),
|
||||
max_length=config.TRAINER_NAME_MAX_LENGTH)
|
||||
trainer_email = forms.EmailField(label=_(u'E-Mail-Adresse'))
|
||||
trainer_email = forms.EmailField(required=False,
|
||||
label=_(u'E-Mail-Adresse'),
|
||||
)
|
||||
trainer_phone = forms.CharField(required=False,
|
||||
max_length=config.PHONE_NUMBER_MAX_LENGTH,
|
||||
label=_(u'Telefonnummer'),
|
||||
@@ -577,6 +580,20 @@ class TrainerForm(EventCreateForm):
|
||||
self.fields['trainer_familyname'].initial = _(u'Kleineheismann')
|
||||
self.fields['trainer_email'].initial = _(u'heinzel@alpenverein-karlsruhe.de')
|
||||
|
||||
def clean_trainer_phone(self):
|
||||
return re.sub(r'[-.]', ' ', self.cleaned_data['trainer_phone'])
|
||||
|
||||
def clean(self):
|
||||
super(TrainerForm, self).clean()
|
||||
trainer_email = self.cleaned_data.get('trainer_email', None)
|
||||
trainer_phone = self.cleaned_data.get('trainer_phone', None)
|
||||
if not trainer_email and not trainer_phone:
|
||||
error_msg = _(u'Bitte E-Mail-Adresse und/oder Telefonnummer angeben.')
|
||||
self.add_error('trainer_email', error_msg)
|
||||
self.add_error('trainer_phone', error_msg)
|
||||
raise forms.ValidationError(error_msg)
|
||||
return self.cleaned_data
|
||||
|
||||
|
||||
class RegistrationForm(EventCreateForm):
|
||||
_form_title = _(u'Teilnehmer / Anmeldung')
|
||||
@@ -625,9 +642,17 @@ class RegistrationForm(EventCreateForm):
|
||||
def get_initial_for_field(self, field, field_name):
|
||||
value = super(RegistrationForm, self).get_initial_for_field(field, field_name)
|
||||
if field_name == 'registration_howto' and value is not None:
|
||||
trainer_fullname = u'%s %s' % (self._session_data.get('trainer_firstname'),
|
||||
self._session_data.get('trainer_familyname'))
|
||||
value = value % {'name': trainer_fullname, 'emailaddr': self._session_data.get('trainer_email')}
|
||||
trainer_firstname = self._session_data.get('trainer_firstname')
|
||||
trainer_familyname = self._session_data.get('trainer_familyname')
|
||||
trainer_email = self._session_data.get('trainer_email', None)
|
||||
trainer_phone = self._session_data.get('trainer_phone', None)
|
||||
if trainer_email:
|
||||
trainer_contact = u'%s %s (%s)' % (trainer_firstname, trainer_familyname, trainer_email)
|
||||
elif trainer_phone:
|
||||
trainer_contact = u'%s %s (%s)' % (trainer_firstname, trainer_familyname, trainer_phone)
|
||||
else:
|
||||
trainer_contact = u'%s %s' % (trainer_firstname, trainer_familyname)
|
||||
value %= {'trainer_contact': trainer_contact}
|
||||
elif field_name in ('min_participants', 'max_participants') and value is None:
|
||||
trainer_2 = bool(self._session_data.get('trainer_2_fullname', False))
|
||||
trainer_3 = bool(self._session_data.get('trainer_3_fullname', False))
|
||||
|
||||
Reference in New Issue
Block a user