Renamed approve to accept.
This commit is contained in:
@@ -2,6 +2,7 @@ import os
|
||||
from babel.dates import format_date
|
||||
from django.db import models
|
||||
from django.template.loader import get_template
|
||||
from django.utils import timezone
|
||||
from django.utils.translation import get_language, ugettext_lazy as _
|
||||
|
||||
from . import choices
|
||||
@@ -13,7 +14,8 @@ CHOICE_FIELD_MAX_LENGTH = 25
|
||||
class Event(models.Model):
|
||||
# Meta
|
||||
created_at = models.DateTimeField(auto_now_add=True)
|
||||
approved = models.BooleanField(default=False)
|
||||
accepted = models.BooleanField(default=False)
|
||||
accepted_at = models.DateTimeField(null=True)
|
||||
|
||||
# DescriptionForm
|
||||
title = models.CharField(max_length=config.TITLE_MAX_LENGTH)
|
||||
@@ -117,12 +119,30 @@ class Event(models.Model):
|
||||
verbose_name = _(u'Veranstaltung')
|
||||
verbose_name_plural = _(u'Veranstaltungen')
|
||||
ordering = ['first_day']
|
||||
default_permissions = ('view', 'accept', 'edit', 'delete')
|
||||
|
||||
def __unicode__(self):
|
||||
return u'{sport} - {title} ({first_day})'.format(title=self.title,
|
||||
sport=self.sport,
|
||||
first_day=self.first_day)
|
||||
|
||||
def save(self, notify=None, **kwargs):
|
||||
if not self.id:
|
||||
if notify is None:
|
||||
notify = True
|
||||
super(Event, self).save(**kwargs)
|
||||
if notify:
|
||||
self.send_notification()
|
||||
|
||||
def send_notification(self):
|
||||
pass
|
||||
|
||||
def accept(self):
|
||||
if not self.accepted:
|
||||
self.accepted = True
|
||||
self.accepted_at = timezone.now()
|
||||
self.save(notify=True)
|
||||
|
||||
def get_short_date(self, begin_date=None, end_date=None):
|
||||
if begin_date is None:
|
||||
begin_date = self.first_day
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<span class="panel-title">{{ sport|upper }}XX/{{ first_day|date:'y' }} {{ title }}</span>
|
||||
<span class="panel-title">{{ sport|upper }}XX/{{ first_day|date:'y' }} - {{ title }}</span>
|
||||
</div>
|
||||
<ul class="list-group">
|
||||
<li class="list-group-item">
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
<div class="col-sm-2">
|
||||
<ul class="list-group">
|
||||
<li class="list-group-item"><strong>Status</strong></li>
|
||||
{% if event.approved %}
|
||||
{% if event.accepted %}
|
||||
<li class="list-group-item list-group-item-success">{% trans 'Freigegeben' %}</li>
|
||||
{% else %}
|
||||
<li class="list-group-item list-group-item-danger">{% trans 'Nicht Freigegeben' %}</li>
|
||||
@@ -24,9 +24,9 @@
|
||||
</ul>
|
||||
<div class="btn-group-vertical" role="group">
|
||||
<a class="btn btn-primary" href="{% url 'dav_events:event_list' %}">{% trans 'Zurück' %}</a>
|
||||
{% if not event.approved %}
|
||||
{% if not event.accepted %}
|
||||
<a disabled="disabled" class="btn btn-warning" href="">{% trans 'Ändern' %}</a>
|
||||
<a class="btn btn-success" href="{% url 'dav_events:event_approve' event.pk %}">{% trans 'Freigeben' %}</a>
|
||||
<a class="btn btn-success" href="{% url 'dav_events:event_accept' event.pk %}">{% trans 'Freigeben' %}</a>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
{{ event.get_short_date }}
|
||||
</td>
|
||||
<td>
|
||||
{% if event.approved %}
|
||||
{% if event.accepted %}
|
||||
<span class="label label-success">{% trans 'Freigegeben' %}</span>
|
||||
{% else %}
|
||||
<span class="label label-danger">{% trans 'Nicht Freigegeben' %}</span>
|
||||
|
||||
@@ -7,6 +7,6 @@ urlpatterns = [
|
||||
url(r'^imprint$', views.ImprintView.as_view(), name='imprint'),
|
||||
url(r'^events$', views.EventListView.as_view(), name='event_list'),
|
||||
url(r'^events/create$', views.EventCreateView.as_view(), name='event_create'),
|
||||
url(r'^events/(?P<pk>\d+)/approve', views.EventApproveView.as_view(), name='event_approve'),
|
||||
url(r'^events/(?P<pk>\d+)/accept', views.EventAcceptView.as_view(), name='event_accept'),
|
||||
url(r'^events/(?P<pk>\d+)/', views.EventDetailView.as_view(), name='event_detail'),
|
||||
]
|
||||
|
||||
@@ -29,17 +29,16 @@ class EventDetailView(generic.DetailView):
|
||||
model = models.Event
|
||||
|
||||
|
||||
class EventApproveView(generic.DetailView):
|
||||
class EventAcceptView(generic.DetailView):
|
||||
model = models.Event
|
||||
|
||||
def approve(self):
|
||||
def accept(self):
|
||||
event = self.get_object()
|
||||
event.approved = True
|
||||
event.save()
|
||||
event.accept()
|
||||
|
||||
def get(self, request, *args, **kwargs):
|
||||
self.approve()
|
||||
return super(EventApproveView, self).get(request, *args, **kwargs)
|
||||
self.accept()
|
||||
return super(EventAcceptView, self).get(request, *args, **kwargs)
|
||||
|
||||
|
||||
class EventCreateView(generic.FormView):
|
||||
|
||||
Reference in New Issue
Block a user