MIGRATION! ADD: first things for a event registration mangement page.
This commit is contained in:
@@ -150,6 +150,7 @@ class EventDetailView(EventPermissionMixin, generic.DetailView):
|
||||
context['is_publishing'] = obj.workflow.has_reached_status('publishing')
|
||||
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*')
|
||||
return context
|
||||
|
||||
@method_decorator(login_required)
|
||||
@@ -157,6 +158,63 @@ class EventDetailView(EventPermissionMixin, generic.DetailView):
|
||||
return super(EventDetailView, self).dispatch(request, *args, **kwargs)
|
||||
|
||||
|
||||
class EventRegistrationsView(EventPermissionMixin, generic.DetailView):
|
||||
permission = 'update-registration'
|
||||
model = models.Event
|
||||
template_name = 'dav_events/event_registrations.html'
|
||||
|
||||
def get_object(self, queryset=None):
|
||||
obj = super(EventRegistrationsView, self).get_object(queryset=queryset)
|
||||
self.enforce_permission(obj)
|
||||
return obj
|
||||
|
||||
def get_context_data(self, **kwargs):
|
||||
context = super(EventRegistrationsView, self).get_context_data(**kwargs)
|
||||
obj = context.get('event')
|
||||
context['has_permission_update'] = self.has_permission('update', obj)
|
||||
context['is_published_any'] = obj.workflow.has_reached_status('published*')
|
||||
context['is_done'] = obj.workflow.has_reached_status('expired')
|
||||
|
||||
class MockParticipant(object):
|
||||
def __init__(self, id, name):
|
||||
self.id = id
|
||||
self.name = name
|
||||
|
||||
@property
|
||||
def position(self):
|
||||
return self.id
|
||||
|
||||
def get_full_name(self):
|
||||
return self.name
|
||||
|
||||
participants = [MockParticipant(1, 'Erika Musterfrau'), MockParticipant(2, 'Max Mustermann')]
|
||||
context['participants'] = participants
|
||||
|
||||
return context
|
||||
|
||||
def post(self, request, *args, **kwargs):
|
||||
event = self.get_object()
|
||||
action = request.POST.get('action')
|
||||
if action == 'close-registration':
|
||||
event.registration_closed = True
|
||||
event.save()
|
||||
messages.success(request, _(u'Die Anmeldung wurde geschlossen'))
|
||||
elif action == 'open-registration':
|
||||
event.registration_closed = False
|
||||
event.save()
|
||||
messages.success(request, _(u'Die Anmeldung wurde geöffnet'))
|
||||
elif action == 'kill-deadline':
|
||||
event.deadline = None
|
||||
event.registration_closed = False
|
||||
event.save()
|
||||
messages.success(request, _(u'Der Anmeldeschluss wurde gelöscht'))
|
||||
return HttpResponseRedirect(reverse('dav_events:registrations', kwargs={'pk': event.pk}))
|
||||
|
||||
@method_decorator(login_required)
|
||||
def dispatch(self, request, *args, **kwargs):
|
||||
return super(EventRegistrationsView, self).dispatch(request, *args, **kwargs)
|
||||
|
||||
|
||||
class EventUpdateStatusView(EventPermissionMixin, generic.DetailView):
|
||||
model = models.Event
|
||||
|
||||
|
||||
Reference in New Issue
Block a user