Add a kind of trashbin for registrations and participants
All checks were successful
buildbot/tox Build done.
All checks were successful
buildbot/tox Build done.
This commit is contained in:
@@ -215,6 +215,8 @@ class EventRegistrationsView(EventPermissionMixin, generic.DetailView):
|
||||
|
||||
participants = event.participants.all()
|
||||
context['participants'] = participants
|
||||
participants_trash = event.trashed_participants.all()
|
||||
context['participants_trash'] = participants_trash
|
||||
|
||||
if participants.count() > 1:
|
||||
email_list = [u'"{}" <{}>'.format(p.get_full_name(), p.email_address) for p in participants]
|
||||
@@ -231,9 +233,11 @@ class EventRegistrationsView(EventPermissionMixin, generic.DetailView):
|
||||
context['registrations_support'] = registrations_support
|
||||
if registrations_support:
|
||||
registrations_all = event.registrations.all()
|
||||
registrations_pending = registrations_all.filter(answered=False)
|
||||
context['registrations_pending'] = registrations_pending
|
||||
registrations_pending = registrations_all.filter(~Q(status__answered=True))
|
||||
registrations_answered = registrations_all.filter(status__answered=True)
|
||||
context['registrations_all'] = registrations_all
|
||||
context['registrations_pending'] = registrations_pending
|
||||
context['registrations_answered'] = registrations_answered
|
||||
context['registrations'] = registrations_all
|
||||
|
||||
return context
|
||||
@@ -289,13 +293,11 @@ class EventRegistrationsView(EventPermissionMixin, generic.DetailView):
|
||||
'purge_at': registration.purge_at,
|
||||
}
|
||||
participant = models.Participant.objects.create(**data)
|
||||
registration.answered = True
|
||||
registration.save()
|
||||
registration.accepted()
|
||||
messages.success(request, _(u'Teilnehmer hinzugefügt: {}'.format(participant.get_full_name())))
|
||||
|
||||
def _reject_registration(self, registration):
|
||||
registration.answered = True
|
||||
registration.save()
|
||||
registration.rejected()
|
||||
|
||||
def _swap_participants_position(self, participant1, participant2):
|
||||
event = participant1.event
|
||||
@@ -357,18 +359,21 @@ class EventRegistrationsView(EventPermissionMixin, generic.DetailView):
|
||||
participant = event.participants.get(id=participant_id)
|
||||
participant.paid = False
|
||||
participant.save()
|
||||
elif action == 'remove_participant':
|
||||
elif action == 'trash_participant':
|
||||
self.enforce_permission(event, permission='update-participants')
|
||||
participant_id = request.POST.get('id')
|
||||
participant = event.participants.get(id=participant_id)
|
||||
full_name = participant.get_full_name()
|
||||
position = participant.position
|
||||
participants_below = event.participants.filter(position__gt=participant.position)
|
||||
|
||||
data = participant.get_data_dict()
|
||||
trashed = models.TrashedParticipant.objects.create(**data)
|
||||
participant.delete()
|
||||
qs = event.participants.filter(position__gt=position)
|
||||
for participant in qs:
|
||||
|
||||
for participant in participants_below:
|
||||
participant.position -= 1
|
||||
participant.save()
|
||||
messages.success(request, _(u'Teilnehmer gelöscht: {}'.format(full_name)))
|
||||
|
||||
messages.success(request, _(u'Teilnehmer in den Papierkorb verschoben: {}'.format(trashed.get_full_name())))
|
||||
elif action == 'moveup_participant':
|
||||
self.enforce_permission(event, permission='update-participants')
|
||||
participant_id = request.POST.get('id')
|
||||
|
||||
Reference in New Issue
Block a user