110 lines
2.9 KiB
Python
110 lines
2.9 KiB
Python
# -*- coding: utf-8 -*-
|
|
from django.utils.translation import ugettext_lazy as _
|
|
|
|
|
|
class ChoiceSet(object):
|
|
def __init__(self, choices):
|
|
self._codes = list()
|
|
self._labels = dict()
|
|
for code, label in choices:
|
|
self._codes.append(code)
|
|
self._labels[code] = label
|
|
|
|
def __len__(self):
|
|
return len(self._codes)
|
|
|
|
def __getitem__(self, key):
|
|
code = self._codes[key]
|
|
return code, self._labels[code]
|
|
|
|
def __iter__(self):
|
|
for code in self._codes:
|
|
yield code, self._labels[code]
|
|
|
|
def __contains__(self, item):
|
|
code, label = item
|
|
if code in self._codes:
|
|
return True
|
|
else:
|
|
return False
|
|
|
|
def get_label(self, code):
|
|
return self._labels[code]
|
|
|
|
|
|
ACCOMMODATION_CHOICES = ChoiceSet([
|
|
('NONE', _(u'Keine (tägliche Anreise)')),
|
|
('biwi', _(u'Biwak')),
|
|
('camp', _(u'Zelt')),
|
|
('hut', _(u'Alpenvereinshütte')),
|
|
('hotel', _(u'Hotel/Pension/Hostel')),
|
|
('OTHER', _(u'Andere Unterkunft (zusätzliches Feld)')),
|
|
])
|
|
|
|
COUNTRY_CHOICES = ChoiceSet([
|
|
('DE', _(u'Deutschland')),
|
|
('AU', _(u'Österreich')),
|
|
('CH', _(u'Schweiz')),
|
|
('FR', _(u'Frankreich')),
|
|
('IT', _(u'Italien')),
|
|
])
|
|
|
|
DEADLINE_CHOICES = ChoiceSet([
|
|
('month', _(u'Einen Monat vorher')),
|
|
('quarter', _(u'Drei Monate vorher')),
|
|
('OTHER', _(u'Anderes oder kein Datum (zusätzliches Feld)')),
|
|
])
|
|
|
|
LEVEL_CHOICES = ChoiceSet([
|
|
('beginner', _(u'Anfänger')),
|
|
('advanced', _(u'Fortgeschrittene')),
|
|
])
|
|
|
|
MEALS_CHOICES = ChoiceSet([
|
|
('NONE', _(u'Keine Angabe')),
|
|
('self', _(u'Selbstverpflegung')),
|
|
('hp', _(u'Halbpension')),
|
|
('vp', _(u'Vollpension')),
|
|
('OTHER', _(u'Andere Verpflegung (zusätzliches Feld)')),
|
|
])
|
|
|
|
MEETING_POINT_CHOICES = ChoiceSet([
|
|
('NONE', _(u'Keine Angabe')),
|
|
('dav', _(u'DAV Sektionszentrum')),
|
|
('hbf', _(u'Hauptbahnhof Karlsruhe, vor der Buchhandlung')),
|
|
('hbf_south', _(u'Hauptbahnhof Karlsruhe, Südausgang')),
|
|
('battert', _(u'Battertparkplatz, Ebersteinburg')),
|
|
('OTHER', _(u'Anderer Treffpunkt (zusätzliches Feld)')),
|
|
])
|
|
|
|
MODE_CHOICES = ChoiceSet([
|
|
('joint', _(u'gemeinschaftliche Tour')),
|
|
('supervised', _(u'begleitete Tour')),
|
|
('guided', _(u'geführte Tour')),
|
|
('training', _(u'Kurs')),
|
|
])
|
|
|
|
SPORT_CHOICES = ChoiceSet([
|
|
('W', _(u'Wanderung')),
|
|
('S', _(u'Ski')),
|
|
('M', _(u'Mountainbike')),
|
|
('K', _(u'Klettern')),
|
|
('B', _(u'Bergsteigen')),
|
|
])
|
|
|
|
TERRAIN_CHOICES = ChoiceSet([
|
|
('gym', _(u'Kletterhalle')),
|
|
('crag', _(u'Klettergarten')),
|
|
('submountains', _(u'Mittelgebirge')),
|
|
('alpine', _(u'Alpin')),
|
|
])
|
|
|
|
TRANSPORT_CHOICES = ChoiceSet([
|
|
('NONE', _(u'Keine Angabe')),
|
|
('train', _(u'Bahn')),
|
|
('bus', _(u'Bus')),
|
|
('car', _(u'Fahrgemeinschaften')),
|
|
('self', _(u'Eigenverantwortlich')),
|
|
('OTHER', _(u'Anderes Verkehrsmittel (zusätzliches Feld)')),
|
|
])
|