preparations for a new status 'published'.
This commit is contained in:
@@ -212,6 +212,8 @@ class Event(models.Model):
|
||||
self.accepted_at = timezone.now()
|
||||
if user:
|
||||
self.accepted_by = user
|
||||
else:
|
||||
logger.error('Event.accept(): no user given! (Event: %s)', self.event)
|
||||
self.save()
|
||||
logger.info('Event is accepted: %s', self)
|
||||
|
||||
@@ -227,6 +229,27 @@ class Event(models.Model):
|
||||
else:
|
||||
return None
|
||||
|
||||
def get_status(self):
|
||||
now = datetime.date.today()
|
||||
if self.alt_last_day:
|
||||
if self.alt_last_day < now:
|
||||
return 'expired'
|
||||
elif self.last_day:
|
||||
if self.last_day < now:
|
||||
return 'expired'
|
||||
elif self.alt_first_day and self.alt_first_day < now:
|
||||
return 'expired'
|
||||
elif self.first_day and self.first_day < now:
|
||||
return 'expired'
|
||||
|
||||
if self.accepted:
|
||||
return 'accepted'
|
||||
elif self.owner:
|
||||
return 'submitted'
|
||||
|
||||
logger.debug("here")
|
||||
return 'draft'
|
||||
|
||||
def get_next_number(self):
|
||||
counter = 0
|
||||
|
||||
@@ -254,6 +277,21 @@ class Event(models.Model):
|
||||
else:
|
||||
return '%s**/%d' % (self.sport, self.first_day.year % 100)
|
||||
|
||||
def get_numeric_date(self, begin_date=None, end_date=None):
|
||||
if begin_date is None:
|
||||
begin_date = self.first_day
|
||||
if end_date is None:
|
||||
end_date = self.last_day
|
||||
|
||||
if not end_date:
|
||||
r = begin_date.strftime('%d.%m.%Y')
|
||||
else:
|
||||
begin = begin_date.strftime('%d.%m.%Y')
|
||||
end = end_date.strftime('%d.%m.%Y')
|
||||
r = u'{begin} - {end}'.format(begin=begin, end=end)
|
||||
|
||||
return r
|
||||
|
||||
def get_short_date(self, begin_date=None, end_date=None):
|
||||
if begin_date is None:
|
||||
begin_date = self.first_day
|
||||
@@ -287,6 +325,7 @@ class Event(models.Model):
|
||||
def get_template_context(self):
|
||||
context = {
|
||||
'event': self,
|
||||
'status': self.get_status(),
|
||||
'number': self.get_number(),
|
||||
'mode': self.mode,
|
||||
'sport': self.sport,
|
||||
|
||||
@@ -94,12 +94,31 @@
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-sm-2">
|
||||
<strong>{% trans 'Veröffentlicht' %}:</strong>
|
||||
</div>
|
||||
<div class="col-sm-10">
|
||||
{% if event.published %}
|
||||
{{ event.published_at|date:'l, d. F Y, H:i' }} {% trans 'Uhr' %}<br />
|
||||
{{ event.published_by.get_full_name }}
|
||||
{% else %}
|
||||
-
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-2">
|
||||
{% if event.accepted %}
|
||||
{% if event.get_status == 'expired' %}
|
||||
<span class="label label-info">{% trans 'Ausgelaufen' %}</span>
|
||||
{% elif event.get_status == 'published' %}
|
||||
<span class="label label-success">{% trans 'Veröffentlicht' %}</span>
|
||||
{% elif event.get_status == 'accepted' %}
|
||||
<span class="label label-warning">{% trans 'Freigegeben' %}</span>
|
||||
{% else %}
|
||||
{% elif event.get_status == 'submitted' %}
|
||||
<span class="label label-danger">{% trans 'Eingereicht' %}</span>
|
||||
{% else %}
|
||||
<span class="label label-default">{% trans 'Kaputt' %} (){{ event.get_status }}</span>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -26,7 +26,6 @@
|
||||
<table id="objects_table" class="table table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{% trans 'Spielart' %}</th>
|
||||
<th>{% trans 'Nummer' %}</th>
|
||||
<th>{% trans 'Titel' %}</th>
|
||||
<th>{% trans 'Trainer' %}</th>
|
||||
@@ -39,17 +38,14 @@
|
||||
<th><input type="text" placeholder="{% trans 'Filter' %}" /></th>
|
||||
<th><input type="text" placeholder="{% trans 'Filter' %}" /></th>
|
||||
<th><input type="text" placeholder="{% trans 'Filter' %}" /></th>
|
||||
<th><input type="text" placeholder="{% trans 'Filter' %}" /></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for event in event_list %}
|
||||
<tr>
|
||||
<td>
|
||||
{{ event.get_sport_display }}
|
||||
</td>
|
||||
<td>
|
||||
<a href="{% url 'dav_events:event_detail' event.pk %}">{{ event.get_number }}</a>
|
||||
<a href="{% url 'dav_events:event_detail' event.pk %}">{{ event.get_number }}</a><br />
|
||||
<small>({{ event.get_sport_display }})</small>
|
||||
</td>
|
||||
<td>
|
||||
<a href="{% url 'dav_events:event_detail' event.pk %}">{{ event.title }}</a>
|
||||
@@ -62,13 +58,19 @@
|
||||
{% endif %}
|
||||
</td>
|
||||
<td data-order="{{ event.first_day|date:'U' }}">
|
||||
{{ event.get_short_date }}
|
||||
{{ event.get_numeric_date }}
|
||||
</td>
|
||||
<td>
|
||||
{% if event.accepted %}
|
||||
{% if event.get_status == 'expired' %}
|
||||
<span class="label label-info">{% trans 'Ausgelaufen' %}</span>
|
||||
{% elif event.get_status == 'published' %}
|
||||
<span class="label label-success">{% trans 'Veröffentlicht' %}</span>
|
||||
{% elif event.get_status == 'accepted' %}
|
||||
<span class="label label-warning">{% trans 'Freigegeben' %}</span>
|
||||
{% else %}
|
||||
{% elif event.get_status == 'submitted' %}
|
||||
<span class="label label-danger">{% trans 'Eingereicht' %}</span>
|
||||
{% else %}
|
||||
<span class="label label-default">{% trans 'Kaputt' %} ({{ event.get_status }})</span>
|
||||
{% endif %}
|
||||
</td>
|
||||
</tr>
|
||||
@@ -82,7 +84,7 @@
|
||||
paging: false,
|
||||
language: {
|
||||
search: "{% trans 'Filter' %}:",
|
||||
info: "{% trans 'Showing _START_ to _END_ of _TOTAL_ entries.' %}",
|
||||
info: "{% trans 'Zeige Eintrag _START_ bis _END_ von _TOTAL_ Einträgen.' %}",
|
||||
infoEmpty: "{% trans 'Showing 0 records.' %}",
|
||||
emptyTable: "{% trans 'No data available in table.' %}",
|
||||
|
||||
|
||||
@@ -21,7 +21,18 @@
|
||||
<form action="" method="post">
|
||||
{% csrf_token %}
|
||||
|
||||
{% if event.accepted %}
|
||||
{% if event.get_status == 'expired' %}
|
||||
<div class="alert alert-info alert-dismissible" role="alert">
|
||||
<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
{% trans 'Diese Veranstaltung ist bereits ausgelaufen.' %}
|
||||
</div>
|
||||
{% elif event.get_status == 'published' %}
|
||||
<div class="alert alert-danger alert-dismissible" role="alert">
|
||||
<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<strong>{% trans 'Achtung!' %}</strong> {% trans 'Diese Veranstaltung wurde bereits veröffentlicht.' %}
|
||||
{% trans 'Änderungen müssen mit allen Beteiligten abgesprochen werden.' %}
|
||||
</div>
|
||||
{% elif event.get_status == 'accepted' %}
|
||||
<div class="alert alert-danger alert-dismissible" role="alert">
|
||||
<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<strong>{% trans 'Achtung!' %}</strong> {% trans 'Diese Veranstaltung wurde bereits freigegeben.' %}
|
||||
|
||||
Reference in New Issue
Block a user