views.py 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. from django.conf import settings
  2. from django.shortcuts import render, redirect
  3. from django.http import JsonResponse
  4. from django.views.decorators.csrf import csrf_exempt
  5. from .models import RapportoRicezione, User, TipoRadio
  6. # Create your views here.
  7. def add_page(request):
  8. # TODO: replace with /api/tipiradio/get etc.
  9. return render(
  10. request,
  11. template_name="add.html",
  12. context=dict(tipiradio=TipoRadio.objects.all()),
  13. )
  14. def rapporti_get(request):
  15. return JsonResponse(
  16. dict(rapporti=[r.serialize() for r in RapportoRicezione.objects.all()])
  17. )
  18. def rapporto_edit_redirect(request, pk):
  19. r = RapportoRicezione.objects.get(pk=pk) # request.GET["rid"])
  20. return redirect(r.edit_link)
  21. @csrf_exempt
  22. def rapporto_add(request):
  23. user = request.user
  24. if user.is_anonymous:
  25. if settings.RX_ADD_DEFAULT_USER:
  26. user = User.objects.get(pk=int(settings.RX_ADD_DEFAULT_USER))
  27. else:
  28. user = User.objects.filter().order_by('id').first()
  29. r = RapportoRicezione(
  30. author=user,
  31. lat=float(request.POST["lat"]),
  32. lng=float(request.POST["lng"]),
  33. comprensibile=int(request.POST["comprensibile"]),
  34. stabilita=int(request.POST["stabilita"]),
  35. tipo_radio=TipoRadio.objects.get(pk=request.POST["tiporadio"]),
  36. )
  37. r.save()
  38. return JsonResponse(r.serialize())
  39. @csrf_exempt
  40. def rapporto_delete(request):
  41. RapportoRicezione.objects.get(pk=request.POST["rid"]).delete()
  42. return JsonResponse(True, safe=False)