diff --git a/dav_registration/models.py b/dav_registration/models.py index 673671f..18bad94 100644 --- a/dav_registration/models.py +++ b/dav_registration/models.py @@ -71,16 +71,33 @@ class Registration(models.Model): verbose_name=_('Einwilligung zur Datenspeicherung')) purge_at = models.DateTimeField() + @staticmethod + def pk2hexstr(pk): + return hex(pk * 113)[2:] # 113 has no meaning, but it produce nice looking hex codes. + + @staticmethod + def hexstr2pk(hexstr): + return int('0x' + hexstr, 0) // 113 + + @property + def hexstr(self): + if not self.pk: + return None + return self.pk2hexstr(self.pk) + class Meta: verbose_name = _('Anmeldung') verbose_name_plural = _('Anmeldungen') ordering = ['created_at'] 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')) + return '{eventnumber} - {name} ({registration_id} - {created} - {purge})'.format( + eventnumber=self.event.get_number(), + name=self.get_full_name(), + registration_id=self.hexstr, + 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') diff --git a/dav_registration/templates/dav_registration/emails/inform_self.txt b/dav_registration/templates/dav_registration/emails/inform_self.txt index 3fa439e..5db5623 100644 --- a/dav_registration/templates/dav_registration/emails/inform_self.txt +++ b/dav_registration/templates/dav_registration/emails/inform_self.txt @@ -3,15 +3,17 @@ Hallo {{ registration.get_full_name }}, wir haben deine Anmeldung zur Veranstaltung {{ event.number }} - {{ event.title }} an den/die Tourenleiter/in {{ event.get_trainer_full_name }} weitergegeben. -{{ event.trainer_firstname }} wird sich bei dir melden und dir mitteilen, -ob du teilnehmen kannst oder nicht. + +!!! Diese E-Mail ist noch keine Zusage zur Teilnahme !!! + +{{ event.trainer_firstname }} wird sich bei dir melden und dir zu- oder absagen. ======================================================================== Veranstaltung: {{ event.number }} - {{ event.title }} Datum: {{ event.get_formated_date }} Tourenleitung: {{ event.get_trainer_full_name }} Anmeldezeitpunkt: {{ registration.created_at|date:'l, d. F Y, G:i' }} -Referenz-Nr: {{ registration.id }} +Vorgang: {{ registration.hexstr }} (wird nur gebraucht, wenn irgendwas schief geht) Personendaten ------------- diff --git a/dav_registration/templates/dav_registration/emails/inform_trainer.txt b/dav_registration/templates/dav_registration/emails/inform_trainer.txt index 12a8545..d3e00ba 100644 --- a/dav_registration/templates/dav_registration/emails/inform_trainer.txt +++ b/dav_registration/templates/dav_registration/emails/inform_trainer.txt @@ -4,7 +4,7 @@ Anmeldung zu deiner Veranstaltung {{ event.number }} - {{ event.title }} ======================================================================== Anmeldezeitpunkt: {{ registration.created_at|date:'l, d. F Y, G:i' }} -Referenz-Nr: {{ registration.id }} +Vorgang: {{ registration.hexstr }} Teilnehmer*in: {{ registration.get_full_name }} diff --git a/dav_registration/templates/dav_registration/registration_detail.html b/dav_registration/templates/dav_registration/registration_detail.html index 8cb450f..4a7fe6d 100644 --- a/dav_registration/templates/dav_registration/registration_detail.html +++ b/dav_registration/templates/dav_registration/registration_detail.html @@ -10,11 +10,13 @@

Du solltest in Kürze eine E-Mail von uns mit deinen Anmeldedaten erhalten.

-

- Diese E-Mail gilt noch nicht als Zusage zur Teilnahme. +

+ Diese Nachricht gilt noch nicht als Zusage zur Teilnahme.

- Die Tourenleitung wurde über deine Anmeldung informiert und wird sich bei dir melden. + Ob du teilnehmen kannst, muss die Tourenleitung entscheiden. + Möglicherweise sind bereits alle Teilnehmerplätze vergeben. + Der/die Tourenleiter/in wurde über deine Anmeldung informiert und wird sich bei dir melden.

{% if object %} @@ -26,9 +28,9 @@
  • Datum: {{ object.event.get_formated_date }}
  • Tourenleitung: {{ object.event.get_trainer_full_name }} ({{ object.event.trainer_email }})
  • Anmeldezeitpunkt: {{ object.created_at|date:'l, d. F Y, G:i' }}
  • -
  • Anmeldenummer: {{ object.pk }}
  • Speicherung bis: {{ object.purge_at|date:'l, d. F Y' }}
  • Teilnehmer*in: {{ object.get_full_name }} ({{ object.email_address }})
  • +
  • Vorgang: {{ object.hexstr }} (wird nur gebraucht, wenn irgendwas schief geht)
  • {% else %} diff --git a/dav_registration/templates/dav_registration/registration_form.html b/dav_registration/templates/dav_registration/registration_form.html index aadfbaa..a3f8d56 100644 --- a/dav_registration/templates/dav_registration/registration_form.html +++ b/dav_registration/templates/dav_registration/registration_form.html @@ -87,7 +87,7 @@ {% endif %}
    @@ -104,6 +104,28 @@ {% endblock form-fields-visible %} {% endblock form-fields %} +
    +
    +
    Teilnahmevorbehalt
    +
    +

    + + Die erfolgreiche Anmeldung bedeutet nicht, dass du auf jeden Fall + an der Tour oder dem Kurs teilnehmen kannst. + +
    + Bei vielen Veranstaltungen wollen mehr Mitglieder teilnehmen, + als der oder die Tourenleiter/innen mitnehmen können. + Zudem muss die Tourenleitung erst noch entscheiden, ob du + die erforderlichen Anforderungen zur Teilnahme erfüllst + (evtl. wird er/sie sich dafür bei dir melden). + Die Plätze werden daher nicht unbedingt nach dem first-come-first-serve-Prinzip vergeben. +
    + Der/die Tourenleiter/in wird dir also persönlich per E-Mail zu- oder absagen. +

    +
    +
    +
     
    {% block form-buttons %} {% buttons %} diff --git a/dav_registration/tests/test_emails.py b/dav_registration/tests/test_emails.py index 5b8f4e8..f8b7eed 100644 --- a/dav_registration/tests/test_emails.py +++ b/dav_registration/tests/test_emails.py @@ -16,15 +16,17 @@ MAIL_SELF_TEMPLATE = """Hallo {participant_full_name}, wir haben deine Anmeldung zur Veranstaltung {event_number} - {event_title} an den/die Tourenleiter/in {trainer_full_name} weitergegeben. -{trainer_first_name} wird sich bei dir melden und dir mitteilen, -ob du teilnehmen kannst oder nicht. + +!!! Diese E-Mail ist noch keine Zusage zur Teilnahme !!! + +{trainer_first_name} wird sich bei dir melden und dir zu- oder absagen. ======================================================================== Veranstaltung: {event_number} - {event_title} Datum: {event_formated_date} Tourenleitung: {trainer_full_name} Anmeldezeitpunkt: {registration_at} -Referenz-Nr: {registration_id} +Vorgang: {registration_hexstr} (wird nur gebraucht, wenn irgendwas schief geht) Personendaten ------------- @@ -59,7 +61,7 @@ Anmeldung zu deiner Veranstaltung {event_number} - {event_title} ======================================================================== Anmeldezeitpunkt: {registration_at} -Referenz-Nr: {registration_id} +Vorgang: {registration_hexstr} Teilnehmer*in: {participant_full_name} @@ -128,7 +130,7 @@ class EmailsTestCase(EmailTestMixin, EventMixin, RegistrationMixin, TestCase): event_formated_date=event.get_formated_date(), trainer_full_name=trainer.get_full_name(), trainer_first_name=trainer.first_name, - registration_id=registration.id, + registration_hexstr=registration.hexstr, registration_at=format_datetime(registration.created_at, 'EEEE, dd. MMMM yyyy, H:mm', locale=locale), purge_at=format_datetime(registration.purge_at, 'EEEE, dd. MMMM yyyy', locale=locale), ) @@ -223,7 +225,7 @@ class EmailsTestCase(EmailTestMixin, EventMixin, RegistrationMixin, TestCase): event_title=event.title, event_formated_date=event.get_formated_date(), trainer_first_name=trainer.first_name, - registration_id=registration.id, + registration_hexstr=registration.hexstr, registration_at=format_datetime(registration.created_at, 'EEEE, dd. MMMM yyyy, H:mm', locale=locale), purge_at=format_datetime(registration.purge_at, 'EEEE, dd. MMMM yyyy', locale=locale), ) diff --git a/dav_registration/views.py b/dav_registration/views.py index a958cd0..c3753b6 100644 --- a/dav_registration/views.py +++ b/dav_registration/views.py @@ -66,16 +66,7 @@ class RegistrationView(generic.CreateView): model = Registration form_class = RegistrationForm initial = { - # 'personal_names': u'Jens', - # 'family_names': u'Kleineheismann', - # 'address': u'Am Fächerbad 2', - # 'postal_code': u'76131', - # 'city': u'Karlsruhe', - # 'email_address': 'heinzel@alpenverein-karlsruhe.de', - # 'note': u'Nur ein Test.', 'dav_number': '131/00/', - # 'experience': u'Ich kann alles.', - # 'privacy_policy_accepted': True, } def get_queryset(self):