Renamed approve to accept.

This commit is contained in:
2018-01-18 10:47:23 +01:00
parent 389163f150
commit f0a2237a37
6 changed files with 32 additions and 13 deletions

View File

@@ -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

View File

@@ -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">

View File

@@ -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>

View File

@@ -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>

View File

@@ -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'),
] ]

View File

@@ -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):