UPD: small steps to become python3 compatible.

This commit is contained in:
2019-03-28 18:08:12 +01:00
parent e05bf3e56f
commit 943285f1ed
12 changed files with 164 additions and 147 deletions

View File

@@ -1,9 +1,11 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
import datetime
import logging
from django.db import models
from django.urls import reverse
from django.utils import timezone
from django.utils.encoding import python_2_unicode_compatible
from django.utils.translation import ugettext_lazy as _
from dav_events.models.event import Event
@@ -17,72 +19,73 @@ midnight = datetime.time(00, 00, 00)
one_day = datetime.timedelta(1)
@python_2_unicode_compatible
class Registration(models.Model):
event = models.ForeignKey(Event, related_name='registrations')
created_at = models.DateTimeField(auto_now_add=True)
personal_names = models.CharField(max_length=1024,
verbose_name=_(u'Vorname(n)'))
verbose_name=_('Vorname(n)'))
family_names = models.CharField(max_length=1024,
verbose_name=_(u'Familienname'))
verbose_name=_('Familienname'))
address = models.CharField(max_length=1024,
verbose_name=_(u'Anschrift'),
help_text=_(u'Straße, Hausnummer'))
verbose_name=_('Anschrift'),
help_text=_('Straße, Hausnummer'))
postal_code = models.CharField(max_length=254,
verbose_name=_(u'Postleitzahl'))
verbose_name=_('Postleitzahl'))
city = models.CharField(max_length=1024,
verbose_name=_(u'Ort'))
email_address = models.EmailField(verbose_name=_(u'E-Mail-Adresse'))
verbose_name=_('Ort'))
email_address = models.EmailField(verbose_name=_('E-Mail-Adresse'))
phone_number = models.CharField(max_length=254,
verbose_name=_(u'Telefonnummer'),
help_text=_(u'Idealerweise eine Mobilfunk-Nummer'))
verbose_name=_('Telefonnummer'),
help_text=_('Idealerweise eine Mobilfunk-Nummer'))
dav_number = models.CharField(max_length=62,
validators=[DAVNumberValidator],
verbose_name=_(u'DAV Mitgliednummer'),
help_text=u'%s<br /> %s %s' % (
_(u'Deine Mitgliedsnummer findest du unter dem Strichcode'
u' auf deinem DAV Ausweis.'),
_(u'Beispiel: <tt>131/00/012345</tt>'),
_(u'(der Teil bis zum ersten * genügt)'),
verbose_name=_('DAV Mitgliednummer'),
help_text='%s<br /> %s %s' % (
_('Deine Mitgliedsnummer findest du unter dem Strichcode'
' auf deinem DAV Ausweis.'),
_('Beispiel: <tt>131/00/012345</tt>'),
_('(der Teil bis zum ersten * genügt)'),
))
emergency_contact = models.TextField(blank=True,
verbose_name=_(u'Notfall-Kontakt'),
help_text=_(u'Name und Telefonnummer bzw. Anschrift,'
u' die in Notfällen informiert werden soll.'))
verbose_name=_('Notfall-Kontakt'),
help_text=_('Name und Telefonnummer bzw. Anschrift,'
' die in Notfällen informiert werden soll.'))
experience = models.TextField(blank=True,
verbose_name=_(u'Erfahrung'),
help_text=_(u'Welche Touren oder Kurse hast du bereits gemacht?'))
verbose_name=_('Erfahrung'),
help_text=_('Welche Touren oder Kurse hast du bereits gemacht?'))
note = models.TextField(blank=True,
verbose_name=_(u'Anmerkung'),
help_text=u'%s<br /> %s' % (
_(u'Wissenswertes für den Tourenleiter, z.B. Allergien,'
u' gesundheitliche Einschränkungen, ...'),
_(u'Kann frei gelassen werden.'))
verbose_name=_('Anmerkung'),
help_text='%s<br /> %s' % (
_('Wissenswertes für den Tourenleiter, z.B. Allergien,'
' gesundheitliche Einschränkungen, ...'),
_('Kann frei gelassen werden.'))
)
privacy_policy = models.TextField(blank=True,
verbose_name=_(u'Erklärung zur Datenspeicherung'))
verbose_name=_('Erklärung zur Datenspeicherung'))
privacy_policy_accepted = models.BooleanField(default=False,
verbose_name=_(u'Einwilligung zur Datenspeicherung'))
verbose_name=_('Einwilligung zur Datenspeicherung'))
purge_at = models.DateTimeField()
class Meta:
verbose_name = _(u'Anmeldung')
verbose_name_plural = _(u'Anmeldungen')
verbose_name = _('Anmeldung')
verbose_name_plural = _('Anmeldungen')
ordering = ['created_at']
def __unicode__(self):
return u'{number} - {name} ({created} - {purge})'.format(number=self.event.get_number(),
name=self.get_full_name(),
created=self.created_at.strftime('%d.%m.%Y %H:%M'),
purge=self.purge_at.strftime('%d.%m.%Y %H:%M'))
def __str__(self):
return '{number} - {name} ({created} - {purge})'.format(number=self.event.get_number(),
name=self.get_full_name(),
created=self.created_at.strftime('%d.%m.%Y %H:%M'),
purge=self.purge_at.strftime('%d.%m.%Y %H:%M'))
def get_absolute_url(self):
return reverse('dav_registration:registered')
def get_full_name(self):
return u'{} {}'.format(self.personal_names, self.family_names)
return '{} {}'.format(self.personal_names, self.family_names)
def save(self, **kwargs):
creating = False