"""NMGFitness views""" from django.shortcuts import render from django.http import JsonResponse from django.contrib.auth.decorators import login_required from .models import Events @login_required def calendar(request): """The main calendar view""" return render(request, 'calendar.html') @login_required def all_events(request): """ Json api that returns all events """ events = Events.objects.all() out = [] for event in events: out.append({ 'title': event.user.username, 'id': event.id, 'start': event.start.strftime("%m/%d/%Y, %H:%M:%S"), 'end': event.end.strftime("%m/%d/%Y, %H:%M:%S"), }) return JsonResponse(out, safe=False) @login_required def add_event(request): """ Json api to add an event given a start and end time in the request get parameters """ start = request.GET.get("start", None) end = request.GET.get("end", None) event = Events(start=start, end=end, user=request.user) event.save() data = {} return JsonResponse(data) @login_required def update(request): """ Json api to update an event Given an event id, start and end time Only events from the loged in user are accepted for updates """ updateid = request.GET.get("id", None) event = Events.objects.get(id=updateid) if request.user != event.user: return JsonResponse({'Unauthorized': 'wrong user'}, status=401) start = request.GET.get("start", None) end = request.GET.get("end", None) event.start = start event.end = end event.save() data = {} return JsonResponse(data) @login_required def remove(request): """ Json api to remove an event Given an event id Only events from the loged in user are accepted for removal """ updateid = request.GET.get("id", None) event = Events.objects.get(id=updateid) if request.user != event.user: return JsonResponse({'Unauthorized': 'wrong user'}, status=401) event.delete() data = {} return JsonResponse(data)