Split ApproachForm, full featured display of transport/journey settings.
This commit is contained in:
@@ -217,12 +217,6 @@ class ModeForm(EventCreateForm):
|
||||
},
|
||||
bootstrap_version=3))
|
||||
|
||||
@property
|
||||
def next_form_name(self):
|
||||
if self.cleaned_data.get('mode') == 'training':
|
||||
return 'TrainingForm'
|
||||
return super(ModeForm, self).next_form_name
|
||||
|
||||
def clean(self):
|
||||
cleaned_data = super(ModeForm, self).clean()
|
||||
last_day = cleaned_data.get('last_day', None)
|
||||
@@ -234,52 +228,9 @@ class ModeForm(EventCreateForm):
|
||||
return cleaned_data
|
||||
|
||||
|
||||
class TrainingForm(EventCreateForm):
|
||||
_form_title = _(u'Kursinhalte / Kursziele')
|
||||
_next_form_name = 'LocationForm'
|
||||
|
||||
course_topic_1 = forms.CharField(required=True,
|
||||
label=u'%s - %s 1' % (_(u'Kursinhalt'), _(u'Absatz')),
|
||||
widget=forms.Textarea(attrs={'rows': 2}))
|
||||
course_topic_2 = forms.CharField(required=False,
|
||||
label=u'%s - %s 2' % (_(u'Kursinhalt'), _(u'Absatz')),
|
||||
widget=forms.TextInput(attrs={'placeholder': _(u'Kann frei gelassen werden')}))
|
||||
course_topic_3 = forms.CharField(required=False,
|
||||
label=u'%s - %s 3' % (_(u'Kursinhalt'), _(u'Absatz')),
|
||||
widget=forms.TextInput(attrs={'placeholder': _(u'Kann frei gelassen werden')}))
|
||||
course_topic_4 = forms.CharField(required=False,
|
||||
label=u'%s - %s 4' % (_(u'Kursinhalt'), _(u'Absatz')),
|
||||
widget=forms.TextInput(attrs={'placeholder': _(u'Kann frei gelassen werden')}))
|
||||
course_topic_5 = forms.CharField(required=False,
|
||||
label=u'%s - %s 5' % (_(u'Kursinhalt'), _(u'Absatz')),
|
||||
widget=forms.TextInput(attrs={'placeholder': _(u'Kann frei gelassen werden')}))
|
||||
course_topic_6 = forms.CharField(required=False,
|
||||
label=u'%s - %s 6' % (_(u'Kursinhalt'), _(u'Absatz')),
|
||||
widget=forms.TextInput(attrs={'placeholder': _(u'Kann frei gelassen werden')}))
|
||||
|
||||
course_goal_1 = forms.CharField(required=True,
|
||||
label=u'%s - %s 1' % (_(u'Kursziel'), _(u'Absatz')),
|
||||
widget=forms.Textarea(attrs={'rows': 2}))
|
||||
course_goal_2 = forms.CharField(required=False,
|
||||
label=u'%s - %s 2' % (_(u'Kursziel'), _(u'Absatz')),
|
||||
widget=forms.TextInput(attrs={'placeholder': _(u'Kann frei gelassen werden')}))
|
||||
course_goal_3 = forms.CharField(required=False,
|
||||
label=u'%s - %s 3' % (_(u'Kursziel'), _(u'Absatz')),
|
||||
widget=forms.TextInput(attrs={'placeholder': _(u'Kann frei gelassen werden')}))
|
||||
course_goal_4 = forms.CharField(required=False,
|
||||
label=u'%s - %s 4' % (_(u'Kursziel'), _(u'Absatz')),
|
||||
widget=forms.TextInput(attrs={'placeholder': _(u'Kann frei gelassen werden')}))
|
||||
course_goal_5 = forms.CharField(required=False,
|
||||
label=u'%s - %s 5' % (_(u'Kursziel'), _(u'Absatz')),
|
||||
widget=forms.TextInput(attrs={'placeholder': _(u'Kann frei gelassen werden')}))
|
||||
course_goal_6 = forms.CharField(required=False,
|
||||
label=u'%s - %s 6' % (_(u'Kursziel'), _(u'Absatz')),
|
||||
widget=forms.TextInput(attrs={'placeholder': _(u'Kann frei gelassen werden')}))
|
||||
|
||||
|
||||
class LocationForm(EventCreateForm):
|
||||
_form_title = _(u'Ort')
|
||||
_next_form_name = 'ApproachForm'
|
||||
_next_form_name = 'JourneyForm'
|
||||
|
||||
country = LazyTypedChoiceField(choices=choices.COUNTRY_CHOICES,
|
||||
label=_(u'Land'))
|
||||
@@ -305,6 +256,14 @@ class LocationForm(EventCreateForm):
|
||||
attrs={'placeholder': _(u'Kann in Ausnahmefällen frei gelassen werden')}
|
||||
))
|
||||
|
||||
transport = forms.ChoiceField(choices=choices.TRANSPORT_CHOICES,
|
||||
label=_(u'Verkehrsmittel zur An- und Abreise'),
|
||||
)
|
||||
transport_other = forms.CharField(required=False,
|
||||
max_length=config.TRANSPORT_OTHER_MAX_LENGTH,
|
||||
label=_(u'Anderes Verkehrsmittel zur An- und Abreise'),
|
||||
)
|
||||
|
||||
def _proceed_session_data(self, session_data):
|
||||
super(LocationForm, self)._proceed_session_data(session_data)
|
||||
|
||||
@@ -325,19 +284,13 @@ class LocationForm(EventCreateForm):
|
||||
elif sport == 'W':
|
||||
self.fields['location'].widget.attrs['placeholder'] = u'z.B. Maikammer, Pfalz'
|
||||
|
||||
self.fields['transport_other'].widget.attrs['placeholder'] = _(u'Nebenstehendes Feld beachten')
|
||||
|
||||
class ApproachForm(EventCreateForm):
|
||||
_form_title = _(u'An- und Abreise / Unterkunft')
|
||||
|
||||
class JourneyForm(EventCreateForm):
|
||||
_form_title = _(u'An- und Abreise - Teil 2')
|
||||
_next_form_name = 'RequirementsForm'
|
||||
|
||||
transport = forms.ChoiceField(choices=choices.TRANSPORT_CHOICES,
|
||||
label=_(u'Verkehrsmittel'),
|
||||
)
|
||||
transport_other = forms.CharField(required=False,
|
||||
max_length=config.TRANSPORT_OTHER_MAX_LENGTH,
|
||||
label=_(u'Anderes Verkehrsmittel'),
|
||||
)
|
||||
|
||||
meeting_point = forms.ChoiceField(choices=choices.MEETING_POINT_CHOICES,
|
||||
label=_(u'Treffpunkt'),
|
||||
)
|
||||
@@ -362,6 +315,63 @@ class ApproachForm(EventCreateForm):
|
||||
},
|
||||
bootstrap_version=3))
|
||||
|
||||
departure_time = forms.TimeField(required=False,
|
||||
label=_(u'Uhrzeit Abfahrt'),
|
||||
help_text=u'%s - %s' % (
|
||||
_(u'Format: hh:mm'),
|
||||
_(u'Kann freigelassen werden'),
|
||||
),
|
||||
widget=TimeWidget(attrs={'id': 'id_departure_time_widget',
|
||||
'placeholder': _(u'Kann freigelassen werden'),
|
||||
},
|
||||
# usel10n=True,
|
||||
options={
|
||||
'format': 'hh:ii',
|
||||
'pickerPosition': 'bottom-left',
|
||||
},
|
||||
bootstrap_version=3))
|
||||
|
||||
departure_ride = forms.CharField(required=False,
|
||||
max_length=config.MEETING_POINT_OTHER_MAX_LENGTH,
|
||||
label=_(u'Bahn- / Bus-Linie / evtl. Haltestelle'),
|
||||
help_text=u'%s - %s' % (
|
||||
_(u'Wo sollen die Teilnehmer einsteigen, wenn kein Treffpunkt ausgemacht ist'
|
||||
u', oder jemand später zusteigen will'),
|
||||
_(u'Kann freigelassen werden'),),
|
||||
)
|
||||
|
||||
return_departure_time = forms.TimeField(required=False,
|
||||
label=_(u'Uhrzeit Rückfahrt (Abfahrt am Tourenort)'),
|
||||
help_text=u'%s - %s' % (
|
||||
_(u'Format: hh:mm'),
|
||||
_(u'Kann freigelassen werden'),
|
||||
),
|
||||
widget=TimeWidget(attrs={'id': 'id_return_departure_time_widget',
|
||||
'placeholder': _(u'Kann freigelassen werden'),
|
||||
},
|
||||
# usel10n=True,
|
||||
options={
|
||||
'format': 'hh:ii',
|
||||
'pickerPosition': 'bottom-left',
|
||||
},
|
||||
bootstrap_version=3))
|
||||
|
||||
return_arrival_time = forms.TimeField(required=False,
|
||||
label=_(u'oder: Uhrzeit Rückkunft (Ankunft in Karlsruhe)'),
|
||||
help_text=u'%s - %s' % (
|
||||
_(u'Format: hh:mm'),
|
||||
_(u'Kann freigelassen werden'),
|
||||
),
|
||||
widget=TimeWidget(attrs={'id': 'id_return_arrival_time_widget',
|
||||
'placeholder': _(u'Kann freigelassen werden'),
|
||||
},
|
||||
# usel10n=True,
|
||||
options={
|
||||
'format': 'hh:ii',
|
||||
'pickerPosition': 'bottom-left',
|
||||
},
|
||||
bootstrap_version=3))
|
||||
|
||||
arrival_previous_day = forms.BooleanField(required=False,
|
||||
label=_(u'Anreise des Kurs-/Tourenleiters am Vortag'),
|
||||
help_text=u'%s %s' % (
|
||||
@@ -370,21 +380,41 @@ class ApproachForm(EventCreateForm):
|
||||
),
|
||||
)
|
||||
|
||||
return_time = forms.TimeField(required=False,
|
||||
label=_(u'Uhrzeit Rückkunft'),
|
||||
help_text=u'%s - %s' % (
|
||||
_(u'Format: hh:mm'),
|
||||
_(u'Kann freigelassen werden'),
|
||||
),
|
||||
widget=TimeWidget(attrs={'id': 'id_back_time_widget',
|
||||
'placeholder': _(u'Kann freigelassen werden'),
|
||||
},
|
||||
# usel10n=True,
|
||||
options={
|
||||
'format': 'hh:ii',
|
||||
'pickerPosition': 'bottom-left',
|
||||
},
|
||||
bootstrap_version=3))
|
||||
@property
|
||||
def next_form_name(self):
|
||||
if bool(self._session_data.get('last_day', None)):
|
||||
return 'AccommodationForm'
|
||||
return super(JourneyForm, self).next_form_name
|
||||
|
||||
def _proceed_session_data(self, session_data):
|
||||
super(JourneyForm, self)._proceed_session_data(session_data)
|
||||
|
||||
first_day = session_data.get('first_day', None)
|
||||
last_day = session_data.get('last_day', None)
|
||||
transport = session_data.get('transport', None)
|
||||
|
||||
self.fields['meeting_point_other'].widget.attrs['placeholder'] = _(u'Nebenstehendes Feld beachten')
|
||||
self.fields['departure_ride'].widget.attrs['placeholder'] = _(u'z.B. Linie S81 nach Freudenstadt, Gleis 9')
|
||||
|
||||
self.fields['meeting_time'].widget.options['startDate'] = first_day.strftime('%Y-%m-%d 00:00:00')
|
||||
self.fields['meeting_time'].widget.options['endDate'] = first_day.strftime('%Y-%m-%d 23:59:59')
|
||||
self.fields['departure_time'].widget.options['startDate'] = first_day.strftime('%Y-%m-%d 00:00:00')
|
||||
self.fields['departure_time'].widget.options['endDate'] = first_day.strftime('%Y-%m-%d 23:59:59')
|
||||
|
||||
return_day = last_day or first_day
|
||||
self.fields['return_departure_time'].widget.options['startDate'] = return_day.strftime('%Y-%m-%d 00:00:00')
|
||||
self.fields['return_departure_time'].widget.options['endDate'] = return_day.strftime('%Y-%m-%d 23:59:59')
|
||||
self.fields['return_arrival_time'].widget.options['startDate'] = return_day.strftime('%Y-%m-%d 00:00:00')
|
||||
self.fields['return_arrival_time'].widget.options['endDate'] = return_day.strftime('%Y-%m-%d 23:59:59')
|
||||
|
||||
if transport != 'public':
|
||||
self.fields['departure_time'].widget = forms.HiddenInput()
|
||||
self.fields['departure_ride'].widget = forms.HiddenInput()
|
||||
|
||||
|
||||
class AccommodationForm(EventCreateForm):
|
||||
_form_title = _(u'Unterkunft')
|
||||
_next_form_name = 'RequirementsForm'
|
||||
|
||||
basecamp = forms.CharField(required=False,
|
||||
max_length=config.BASECAMP_MAX_LENGTH,
|
||||
@@ -409,34 +439,15 @@ class ApproachForm(EventCreateForm):
|
||||
)
|
||||
|
||||
def _proceed_session_data(self, session_data):
|
||||
super(ApproachForm, self)._proceed_session_data(session_data)
|
||||
|
||||
first_day = session_data.get('first_day', None)
|
||||
last_day = session_data.get('last_day', None)
|
||||
|
||||
self.fields['transport_other'].widget.attrs['placeholder'] = _(u'Nebenstehendes Feld beachten')
|
||||
self.fields['meeting_point_other'].widget.attrs['placeholder'] = _(u'Nebenstehendes Feld beachten')
|
||||
super(AccommodationForm, self)._proceed_session_data(session_data)
|
||||
self.fields['basecamp'].widget.attrs['placeholder'] = _(u'Kann freigelassen werden')
|
||||
self.fields['accommodation_other'].widget.attrs['placeholder'] = _(u'Nebenstehendes Feld beachten')
|
||||
self.fields['meals_other'].widget.attrs['placeholder'] = _(u'Nebenstehendes Feld beachten')
|
||||
|
||||
self.fields['meeting_time'].widget.options['startDate'] = first_day.strftime('%Y-%m-%d 00:00:00')
|
||||
self.fields['meeting_time'].widget.options['endDate'] = first_day.strftime('%Y-%m-%d 23:59:59')
|
||||
|
||||
return_day = last_day or first_day
|
||||
self.fields['return_time'].widget.options['startDate'] = return_day.strftime('%Y-%m-%d 00:00:00')
|
||||
self.fields['return_time'].widget.options['endDate'] = return_day.strftime('%Y-%m-%d 23:59:59')
|
||||
|
||||
if not last_day:
|
||||
self.fields['basecamp'].widget = forms.HiddenInput()
|
||||
self.fields['accommodation'].widget = forms.HiddenInput()
|
||||
self.fields['accommodation'].initial = 'NONE'
|
||||
self.fields['accommodation_other'].widget = forms.HiddenInput()
|
||||
|
||||
|
||||
class RequirementsForm(EventCreateForm):
|
||||
_form_title = _(u'Voraussetzungen / Vorbedingungen')
|
||||
_next_form_name = 'DescriptionForm'
|
||||
_next_form_name = 'TrainerForm'
|
||||
|
||||
requirements = forms.CharField(required=False,
|
||||
label=_(u'Anforderungen / Voraussetzungen'),
|
||||
@@ -492,53 +503,6 @@ class RequirementsForm(EventCreateForm):
|
||||
bootstrap_version=3))
|
||||
|
||||
|
||||
class DescriptionForm(EventCreateForm):
|
||||
_form_title = _(u'Titel / Beschreibung')
|
||||
_next_form_name = 'TrainerForm'
|
||||
|
||||
title = forms.CharField(max_length=config.TITLE_MAX_LENGTH,
|
||||
label=_(u'Name bzw. Titel der Veranstaltung'),
|
||||
)
|
||||
description = forms.CharField(label=_(u'Beschreibung'),
|
||||
widget=forms.Textarea(attrs={'rows': 5}))
|
||||
|
||||
def get_initial_for_field(self, field, field_name):
|
||||
value = super(DescriptionForm, self).get_initial_for_field(field, field_name)
|
||||
if field_name == 'title' and value is None:
|
||||
mode = self._session_data.get('mode', None)
|
||||
sport = self._session_data.get('sport', None)
|
||||
level = self._session_data.get('level', None)
|
||||
terrain = self._session_data.get('terrain', None)
|
||||
last_day = self._session_data.get('last_day', None)
|
||||
|
||||
value = u''
|
||||
if mode == 'training':
|
||||
if level == 'beginner':
|
||||
value += u'%s ' % ugettext(u'Grundkurs')
|
||||
else:
|
||||
value += u'%s ' % ugettext(u'Aufbaukurs')
|
||||
|
||||
if sport == 'B':
|
||||
value += u'%s' % ugettext(u'Alpin')
|
||||
elif sport == 'K':
|
||||
if terrain == 'gym':
|
||||
value += ugettext(u'Indoorklettern')
|
||||
elif terrain == 'crag':
|
||||
value += ugettext(u'Fels')
|
||||
elif terrain == 'alpine':
|
||||
value += ugettext(u'Alpinklettern')
|
||||
|
||||
value += u': ...'
|
||||
elif sport == 'W' and not last_day:
|
||||
value += u'%s ...' % ugettext(u'Tageswanderung')
|
||||
|
||||
if app_config.settings.forms_development_init:
|
||||
if not value:
|
||||
value = u'%s' % choices.SPORT_CHOICES.get_label(sport)
|
||||
|
||||
return value
|
||||
|
||||
|
||||
class TrainerForm(EventCreateForm):
|
||||
_form_title = _(u'Tourenleitung')
|
||||
_next_form_name = 'RegistrationForm'
|
||||
@@ -701,7 +665,7 @@ class RegistrationForm(EventCreateForm):
|
||||
|
||||
class ChargesForm(EventCreateForm):
|
||||
_form_title = _(u'Kosten')
|
||||
_next_form_name = 'SummaryForm'
|
||||
_next_form_name = 'DescriptionForm'
|
||||
|
||||
charge_key = forms.CharField(disabled=True,
|
||||
label=_(u'Kostenschlüssel'),
|
||||
@@ -735,6 +699,12 @@ class ChargesForm(EventCreateForm):
|
||||
help_text=_(u'Kann freigelassen werden'),
|
||||
)
|
||||
|
||||
@property
|
||||
def next_form_name(self):
|
||||
if self._session_data.get('mode') == 'training':
|
||||
return 'TrainingForm'
|
||||
return super(ChargesForm, self).next_form_name
|
||||
|
||||
def _proceed_session_data(self, session_data):
|
||||
super(ChargesForm, self)._proceed_session_data(session_data)
|
||||
|
||||
@@ -816,6 +786,96 @@ class ChargesForm(EventCreateForm):
|
||||
self.fields['additional_costs'].initial = additional_costs_text
|
||||
|
||||
|
||||
class TrainingForm(EventCreateForm):
|
||||
_form_title = _(u'Kursinhalte / Kursziele')
|
||||
_next_form_name = 'DescriptionForm'
|
||||
|
||||
course_topic_1 = forms.CharField(required=True,
|
||||
label=u'%s - %s 1' % (_(u'Kursinhalt'), _(u'Absatz')),
|
||||
widget=forms.Textarea(attrs={'rows': 2}))
|
||||
course_topic_2 = forms.CharField(required=False,
|
||||
label=u'%s - %s 2' % (_(u'Kursinhalt'), _(u'Absatz')),
|
||||
widget=forms.TextInput(attrs={'placeholder': _(u'Kann frei gelassen werden')}))
|
||||
course_topic_3 = forms.CharField(required=False,
|
||||
label=u'%s - %s 3' % (_(u'Kursinhalt'), _(u'Absatz')),
|
||||
widget=forms.TextInput(attrs={'placeholder': _(u'Kann frei gelassen werden')}))
|
||||
course_topic_4 = forms.CharField(required=False,
|
||||
label=u'%s - %s 4' % (_(u'Kursinhalt'), _(u'Absatz')),
|
||||
widget=forms.TextInput(attrs={'placeholder': _(u'Kann frei gelassen werden')}))
|
||||
course_topic_5 = forms.CharField(required=False,
|
||||
label=u'%s - %s 5' % (_(u'Kursinhalt'), _(u'Absatz')),
|
||||
widget=forms.TextInput(attrs={'placeholder': _(u'Kann frei gelassen werden')}))
|
||||
course_topic_6 = forms.CharField(required=False,
|
||||
label=u'%s - %s 6' % (_(u'Kursinhalt'), _(u'Absatz')),
|
||||
widget=forms.TextInput(attrs={'placeholder': _(u'Kann frei gelassen werden')}))
|
||||
|
||||
course_goal_1 = forms.CharField(required=True,
|
||||
label=u'%s - %s 1' % (_(u'Kursziel'), _(u'Absatz')),
|
||||
widget=forms.Textarea(attrs={'rows': 2}))
|
||||
course_goal_2 = forms.CharField(required=False,
|
||||
label=u'%s - %s 2' % (_(u'Kursziel'), _(u'Absatz')),
|
||||
widget=forms.TextInput(attrs={'placeholder': _(u'Kann frei gelassen werden')}))
|
||||
course_goal_3 = forms.CharField(required=False,
|
||||
label=u'%s - %s 3' % (_(u'Kursziel'), _(u'Absatz')),
|
||||
widget=forms.TextInput(attrs={'placeholder': _(u'Kann frei gelassen werden')}))
|
||||
course_goal_4 = forms.CharField(required=False,
|
||||
label=u'%s - %s 4' % (_(u'Kursziel'), _(u'Absatz')),
|
||||
widget=forms.TextInput(attrs={'placeholder': _(u'Kann frei gelassen werden')}))
|
||||
course_goal_5 = forms.CharField(required=False,
|
||||
label=u'%s - %s 5' % (_(u'Kursziel'), _(u'Absatz')),
|
||||
widget=forms.TextInput(attrs={'placeholder': _(u'Kann frei gelassen werden')}))
|
||||
course_goal_6 = forms.CharField(required=False,
|
||||
label=u'%s - %s 6' % (_(u'Kursziel'), _(u'Absatz')),
|
||||
widget=forms.TextInput(attrs={'placeholder': _(u'Kann frei gelassen werden')}))
|
||||
|
||||
|
||||
class DescriptionForm(EventCreateForm):
|
||||
_form_title = _(u'Titel / Beschreibung')
|
||||
_next_form_name = 'SummaryForm'
|
||||
|
||||
title = forms.CharField(max_length=config.TITLE_MAX_LENGTH,
|
||||
label=_(u'Name bzw. Titel der Veranstaltung'),
|
||||
)
|
||||
description = forms.CharField(label=_(u'Beschreibung'),
|
||||
widget=forms.Textarea(attrs={'rows': 5}))
|
||||
|
||||
def get_initial_for_field(self, field, field_name):
|
||||
value = super(DescriptionForm, self).get_initial_for_field(field, field_name)
|
||||
if field_name == 'title' and value is None:
|
||||
mode = self._session_data.get('mode', None)
|
||||
sport = self._session_data.get('sport', None)
|
||||
level = self._session_data.get('level', None)
|
||||
terrain = self._session_data.get('terrain', None)
|
||||
last_day = self._session_data.get('last_day', None)
|
||||
|
||||
value = u''
|
||||
if mode == 'training':
|
||||
if level == 'beginner':
|
||||
value += u'%s ' % ugettext(u'Grundkurs')
|
||||
else:
|
||||
value += u'%s ' % ugettext(u'Aufbaukurs')
|
||||
|
||||
if sport == 'B':
|
||||
value += u'%s' % ugettext(u'Alpin')
|
||||
elif sport == 'K':
|
||||
if terrain == 'gym':
|
||||
value += ugettext(u'Indoorklettern')
|
||||
elif terrain == 'crag':
|
||||
value += ugettext(u'Fels')
|
||||
elif terrain == 'alpine':
|
||||
value += ugettext(u'Alpinklettern')
|
||||
|
||||
value += u': ...'
|
||||
elif sport == 'W' and not last_day:
|
||||
value += u'%s ...' % ugettext(u'Tageswanderung')
|
||||
|
||||
if app_config.settings.forms_development_init:
|
||||
if not value:
|
||||
value = u'%s' % choices.SPORT_CHOICES.get_label(sport)
|
||||
|
||||
return value
|
||||
|
||||
|
||||
class SummaryForm(EventCreateForm):
|
||||
_form_title = _(u'Zusammenfassung')
|
||||
|
||||
|
||||
Reference in New Issue
Block a user