def new_event(request): form = EventModelForm(request.POST) if form.is_valid(): event = form.save() modified_response = GENERIC_SUCCESS.copy() modified_response['event'] = {'id': event.id} return JSONResponse(modified_response) return JSONErrorResponse({'errors': form.errors})
def update(request, id): queryset = Event.objects.annotate(num_attendees=Count('attendees')) event = get_object_or_404(queryset, id=id) form = EventModelForm(request.POST, instance=event) if not form.is_valid(): return JSONErrorResponse({'errors': form.errors}) event = form.save() logs = [] for attendance in event.attendances.order_by('timestamp'): logs.append({ 'message': 'Scanned {}'.format(attendance.attendee.name), 'timestamp': attendance.timestamp.timestamp() }) jresponse = GENERIC_SUCCESS.copy() jresponse['event'] = { 'id': event.id, 'name': event.name, 'datetime': event.datetime.timestamp(), 'num_attendees': event.num_attendees, 'logs': logs } return JSONResponse(jresponse)