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:
@@ -2,6 +2,7 @@
|
||||
from __future__ import unicode_literals
|
||||
import datetime
|
||||
import logging
|
||||
from django.core.exceptions import ValidationError
|
||||
from django.db import models
|
||||
from django.urls import reverse
|
||||
from django.utils import timezone
|
||||
@@ -39,8 +40,10 @@ class Registration(models.Model):
|
||||
phone_number = models.CharField(max_length=254,
|
||||
verbose_name=_('Telefonnummer'),
|
||||
help_text=_('Idealerweise eine Mobilfunk-Nummer'))
|
||||
dav_member = models.BooleanField(default=True,
|
||||
verbose_name=_('DAV Mitglied'))
|
||||
dav_number = models.CharField(max_length=62,
|
||||
validators=[DAVNumberValidator],
|
||||
blank=True, validators=[DAVNumberValidator],
|
||||
verbose_name=_('DAV Mitgliedsnummer'),
|
||||
help_text='%s<br /> %s %s' % (
|
||||
_('Deine Mitgliedsnummer findest du unter dem Strichcode'
|
||||
@@ -109,7 +112,7 @@ class Registration(models.Model):
|
||||
text = """{fullname}
|
||||
{address}, {postal_code} {city}
|
||||
|
||||
DAV Mitgliedsnummer: {dav_number}
|
||||
DAV Mitglied: {dav_info}
|
||||
|
||||
Erfahrung:
|
||||
{experience}
|
||||
@@ -117,16 +120,25 @@ Erfahrung:
|
||||
Anmerkung:
|
||||
{note}
|
||||
"""
|
||||
if not self.dav_member:
|
||||
dav_info = _('Nein')
|
||||
else:
|
||||
dav_info = self.dav_number
|
||||
|
||||
return text.format(
|
||||
fullname=self.get_full_name(),
|
||||
address=self.address,
|
||||
postal_code=self.postal_code,
|
||||
city=self.city,
|
||||
dav_number=self.dav_number,
|
||||
dav_info=dav_info,
|
||||
experience=self.experience,
|
||||
note=self.note,
|
||||
)
|
||||
|
||||
def clean(self):
|
||||
if self.dav_member and not self.dav_number:
|
||||
raise ValidationError({'dav_number': _('Wenn du DAV Mitglied bist, brauchen wir deine Mitgliedsnummer.')})
|
||||
|
||||
def save(self, **kwargs):
|
||||
creating = False
|
||||
if not self.id:
|
||||
@@ -135,6 +147,7 @@ Anmerkung:
|
||||
if not self.purge_at and self.event:
|
||||
self.purge_at = self.__class__.calc_purge_at(self.event)
|
||||
|
||||
self.full_clean()
|
||||
super(Registration, self).save(**kwargs)
|
||||
|
||||
if creating:
|
||||
|
||||
Reference in New Issue
Block a user