FIX #35 and #36: add new event stati canceled and realized
Some checks failed
buildbot/tox Build done.

This commit is contained in:
2021-01-07 12:52:21 +01:00
parent 642971e469
commit 269d59f460
10 changed files with 164 additions and 8 deletions

View File

@@ -151,6 +151,8 @@ class EventDetailView(EventPermissionMixin, generic.DetailView):
context['has_permission_submit'] = self.has_permission('submit', obj)
context['has_permission_accept'] = self.has_permission('accept', obj)
context['has_permission_publish'] = self.has_permission('publish', obj)
context['has_permission_cancel'] = self.has_permission('cancel', obj)
context['has_permission_realize'] = self.has_permission('realize', obj)
context['has_permission_clear'] = self.has_permission('clear', obj)
context['has_permission_update'] = self.has_permission('update', obj)
context['is_submitted'] = obj.workflow.has_reached_status('submitted')
@@ -159,6 +161,10 @@ class EventDetailView(EventPermissionMixin, generic.DetailView):
context['is_publishing_any'] = obj.workflow.has_reached_status('publishing*')
context['is_published'] = obj.workflow.has_reached_status('published')
context['is_published_any'] = obj.workflow.has_reached_status('published*')
context['is_started'] = obj.first_day <= datetime.date.today()
context['is_expired'] = obj.workflow.has_reached_status('expired')
context['is_canceled'] = obj.workflow.has_reached_status('canceled')
context['is_realized'] = obj.workflow.has_reached_status('realized')
context['is_cleared'] = obj.workflow.has_reached_status('cleared')
return context
@@ -212,7 +218,9 @@ class EventRegistrationsView(EventPermissionMixin, generic.DetailView):
context['has_permission_update_participants'] = self.has_permission('update-participants', event)
context['has_permission_payment'] = self.has_permission('payment', event)
context['is_published_any'] = event.workflow.has_reached_status('published*')
context['is_done'] = event.workflow.has_reached_status('expired')
context['is_expired'] = event.workflow.has_reached_status('expired')
context['is_canceled'] = event.workflow.has_reached_status('canceled')
context['is_realized'] = event.workflow.has_reached_status('realized')
participants = event.participants.all()
context['participants'] = participants
@@ -527,6 +535,12 @@ class EventUpdateStatusView(EventPermissionMixin, generic.DetailView):
elif status.startswith('publish'):
if not self.has_permission('publish', event):
raise PermissionDenied(status)
elif status.startswith('cancel'):
if not self.has_permission('cancel', event):
raise PermissionDenied(status)
elif status.startswith('realize'):
if not self.has_permission('realize', event):
raise PermissionDenied(status)
elif status.startswith('clear'):
if not self.has_permission('clear', event):
raise PermissionDenied(status)
@@ -540,6 +554,10 @@ class EventUpdateStatusView(EventPermissionMixin, generic.DetailView):
message = _(u'Veranstaltung ist noch nicht eingereicht.')
elif return_code == 'not-accepted':
message = _(u'Veranstaltung ist noch nicht freigegeben.')
elif return_code == 'already-realized':
message = _(u'Veranstaltung wurde bereits durchgeführt.')
elif return_code == 'not-started':
message = _(u'Veranstaltung hat noch nicht begonnen.')
messages.error(request, message)
return HttpResponseRedirect(event.get_absolute_url())
@@ -563,6 +581,10 @@ class EventUpdateStatusView(EventPermissionMixin, generic.DetailView):
messages.success(request, _(u'Veranstaltung freigegeben.'))
elif status.startswith('publish'):
messages.success(request, _(u'Veröffentlichung registriert.'))
elif status.startswith('cancel'):
messages.success(request, _(u'Absage vermerkt.'))
elif status.startswith('realize'):
messages.success(request, _(u'Durchführung vermerkt.'))
elif status.startswith('clear'):
messages.success(request, _(u'Abrechnung vermerkt.'))
else:
@@ -600,10 +622,12 @@ class EventUpdateView(EventPermissionMixin, generic.UpdateView):
context['has_permission_accept'] = self.has_permission('accept', obj)
context['has_permission_update'] = self.has_permission('update', obj)
context['has_permission_publish'] = self.has_permission('publish', obj)
context['is_expired'] = obj.workflow.has_reached_status('expired')
context['is_accepted'] = obj.workflow.has_reached_status('accepted')
context['is_publishing'] = obj.workflow.has_reached_status('publishing')
context['is_publishing_any'] = obj.workflow.has_reached_status('publishing*')
context['is_accepted'] = obj.workflow.has_reached_status('accepted')
context['is_expired'] = obj.workflow.has_reached_status('expired')
context['is_canceled'] = obj.workflow.has_reached_status('canceled')
context['is_realized'] = obj.workflow.has_reached_status('realized')
if 'form' in kwargs and kwargs['form'].errors:
context['decollapseAllForms'] = True