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