MIGRATION: dav_registration: try to incoorporate feedback from trainers
This commit is contained in:
@@ -310,6 +310,10 @@ class Event(models.Model):
|
||||
logger.info('Event updated: %s', self)
|
||||
signals.event_updated.send(sender=self.__class__, event=self, diff=diff_lines, user=self.editor)
|
||||
|
||||
def is_deadline_expired(self):
|
||||
today = datetime.date.today()
|
||||
return self.deadline and self.deadline < today
|
||||
|
||||
def get_number(self):
|
||||
return self.workflow.get_number()
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
import logging
|
||||
from django import forms
|
||||
from django.utils.translation import ugettext, ugettext_lazy as _
|
||||
from django.utils.translation import ugettext
|
||||
|
||||
from .models import Registration
|
||||
|
||||
@@ -37,7 +37,7 @@ class RegistrationForm(forms.ModelForm):
|
||||
if not val and self.instance.privacy_policy:
|
||||
raise forms.ValidationError(
|
||||
ugettext(u'Wir müssen deine Daten leider speichern können,'
|
||||
u' damit wir wissen, dass du dich angemeldet hast.'),
|
||||
u' damit wir wissen, dass du teilnehmen möchtest.'),
|
||||
code='privacy_policy_not_accepted',
|
||||
)
|
||||
return val
|
||||
|
||||
27
dav_registration/migrations/0002_auto_20190401_1310.py
Normal file
27
dav_registration/migrations/0002_auto_20190401_1310.py
Normal file
@@ -0,0 +1,27 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Generated by Django 1.11.20 on 2019-04-01 13:10
|
||||
from __future__ import unicode_literals
|
||||
|
||||
import django.core.validators
|
||||
from django.db import migrations, models
|
||||
import uuid
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('dav_registration', '0001_initial'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='registration',
|
||||
name='dav_number',
|
||||
field=models.CharField(help_text='Deine Mitgliedsnummer findest du unter dem Strichcode auf deinem DAV Ausweis.<br /> Beispiel: <tt>131/00/012345</tt> (der Teil bis zum ersten * genügt)', max_length=62, validators=[django.core.validators.RegexValidator('^([0-9]{1,10}/[0-9]{2,10}/)?[0-9]{1,10}(\\*[0-9]{1,10})?(\\*[0-9]{4}\\*[0-9]{4})?([* ][0-9]{8})?$', 'Ungültiges Format.')], verbose_name='DAV Mitgliednummer'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='registration',
|
||||
name='id',
|
||||
field=models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False),
|
||||
),
|
||||
]
|
||||
@@ -2,6 +2,7 @@
|
||||
from __future__ import unicode_literals
|
||||
import datetime
|
||||
import logging
|
||||
import uuid
|
||||
from django.db import models
|
||||
from django.urls import reverse
|
||||
from django.utils import timezone
|
||||
@@ -21,6 +22,7 @@ one_day = datetime.timedelta(1)
|
||||
|
||||
@python_2_unicode_compatible
|
||||
class Registration(models.Model):
|
||||
id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
|
||||
event = models.ForeignKey(Event, related_name='registrations')
|
||||
created_at = models.DateTimeField(auto_now_add=True)
|
||||
|
||||
@@ -108,7 +110,7 @@ class Registration(models.Model):
|
||||
elif event.last_day:
|
||||
last_day = event.last_day
|
||||
elif event.alt_first_day:
|
||||
last_day = event.alt_fisrt_day
|
||||
last_day = event.alt_first_day
|
||||
else:
|
||||
last_day = event.first_day
|
||||
return timezone.make_aware(datetime.datetime.combine(last_day + one_day * 7, midnight))
|
||||
|
||||
@@ -98,7 +98,11 @@
|
||||
{% endif %}
|
||||
<br />
|
||||
{% endif %}
|
||||
{% if event.registration_required and event.deadline %}<strong>{% trans 'Anmeldeschluss' %}:</strong> {{ event.deadline|date:'l, d. F Y' }}<br />{% endif %}
|
||||
{% if event.registration_required and event.deadline %}
|
||||
{% if event.is_deadline_expired %}<span class="text-danger">{% endif %}
|
||||
<strong>{% trans 'Anmeldeschluss' %}:</strong> {{ event.deadline|date:'l, d. F Y' }}<br />
|
||||
{% if event.is_deadline_expired %}</span>{% endif %}
|
||||
{% endif %}
|
||||
{% if event.trainer_2_fullname %}
|
||||
{% if event.mode == 'training' %}
|
||||
<strong>{% trans 'Ausbildungsteam' %}:</strong>
|
||||
|
||||
@@ -4,6 +4,17 @@
|
||||
|
||||
{% block head-title %}{{ event.number }} - {{ block.super }}{% endblock head-title %}
|
||||
|
||||
{% block messages %}
|
||||
{% if event.is_deadline_expired %}
|
||||
<div class="container-fluid">
|
||||
<div class="alert alert-danger">
|
||||
Der Anmeldeschluss ist bereits abgelaufen!<br />
|
||||
Eine Anmeldung ist nicht mehr möglich.
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endblock messages %}
|
||||
|
||||
{% block page-container-fluid %}
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
@@ -26,7 +37,17 @@
|
||||
{% render_event_facts event %}
|
||||
</li>
|
||||
<li class="list-group-item">
|
||||
<a class="btn btn-primary" href="{% url 'dav_registration:register' event.pk %}">{% trans 'Anmelden' %}</a>
|
||||
{% if not event.registration_required %}
|
||||
<div class="alert alert-info">
|
||||
{% blocktrans %}
|
||||
Zu dieser Veranstaltung ist keine Anmeldung notwendig.<br />
|
||||
Du kannst das Anmeldeformular natürlich trotzdem ausfüllen.
|
||||
{% endblocktrans %}
|
||||
</div>
|
||||
{% endif %}
|
||||
{% if not event.is_deadline_expired %}
|
||||
<a class="btn btn-primary" href="{% url 'dav_registration:register' event.pk %}">{% trans 'Anmeldung' %}</a>
|
||||
{% endif %}
|
||||
<a class="btn btn-danger" href="{% url 'dav_registration:events' %}">{% trans 'Zurück' %}</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
{% block page-container-fluid %}
|
||||
<div>
|
||||
<h3 class="top-most">Touren & Kurse</h3>
|
||||
<h3 class="top-most">{% trans 'Touren & Kurse' %}</h3>
|
||||
<table id="objects_table" class="table table-bordered table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
@@ -24,7 +24,12 @@
|
||||
</a>
|
||||
</div>
|
||||
<div class="pull-right" style="margin-left: 1em;">
|
||||
<a class="btn btn-primary" href="{% url 'dav_registration:event' event.pk %}">Details & Anmeldung</a>
|
||||
{% if event.is_deadline_expired %}
|
||||
<span class="text-danger"><span class="glyphicon glyphicon-exclamation-sign"></span></span>
|
||||
<span class="text-danger">{% trans 'Anmeldeschluss abgelaufen' %}</span>
|
||||
{% else %}
|
||||
<a class="btn btn-primary" href="{% url 'dav_registration:event' event.pk %}">{% trans 'Details & Anmeldung' %}</a>
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="pull-left" style="margin-right: 12px;">
|
||||
{% with event.sport as sport %}
|
||||
@@ -53,9 +58,11 @@
|
||||
<li class="list-group-item">
|
||||
{% render_event_facts event %}
|
||||
</li>
|
||||
{% if not event.is_deadline_expired %}
|
||||
<li class="list-group-item">
|
||||
<a class="btn btn-primary" href="{% url 'dav_registration:event' event.pk %}">zur Anmeldung</a>
|
||||
<a class="btn btn-primary" href="{% url 'dav_registration:event' event.pk %}">{% trans 'zur Anmeldung' %}</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -37,7 +37,7 @@ class EventListView(generic.ListView):
|
||||
'published', 'published_web', 'published_facebook'))
|
||||
filter &= Q(planned_publication_date__isnull=True) | Q(planned_publication_date__lte=today)
|
||||
filter &= Q(first_day__gte=today)
|
||||
filter &= Q(deadline__isnull=True) | Q(deadline__gte=today)
|
||||
# filter &= Q(deadline__isnull=True) | Q(deadline__gte=today)
|
||||
|
||||
qs = self.model.objects.filter(filter).order_by('first_day', 'number').distinct()
|
||||
|
||||
@@ -55,7 +55,7 @@ class EventDetailView(generic.DetailView):
|
||||
'published', 'published_web', 'published_facebook'))
|
||||
filter &= Q(planned_publication_date__isnull=True) | Q(planned_publication_date__lte=today)
|
||||
filter &= Q(first_day__gte=today)
|
||||
filter &= Q(deadline__isnull=True) | Q(deadline__gte=today)
|
||||
# filter &= Q(deadline__isnull=True) | Q(deadline__gte=today)
|
||||
|
||||
qs = self.model.objects.filter(filter).distinct()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user