From 803b0262036a0c29407c5e58c6cb242eaab276a2 Mon Sep 17 00:00:00 2001 From: Quentin André Date: Sat, 10 Jul 2021 08:37:57 +0200 Subject: api for geo_get_items for context records + tests --- archaeological_finds/views.py | 30 ++++++++++++++++++++++++------ 1 file changed, 24 insertions(+), 6 deletions(-) (limited to 'archaeological_finds/views.py') diff --git a/archaeological_finds/views.py b/archaeological_finds/views.py index f4c66b3bf..bba4efb13 100644 --- a/archaeological_finds/views.py +++ b/archaeological_finds/views.py @@ -1338,10 +1338,28 @@ class PublicFindAPI(APIView): return Response(serializer.data) -def get_geo_items(request, pk, get_polygons, current_right=None): - try: - base_find = models.BaseFind.objects.get(pk=pk) - except models.BaseFind.DoesNotExist: - raise Http404() - dic = base_find.get_geo_items(get_polygons=get_polygons) +def get_geo_items( + request, + get_polygons, + pk=None, + context_record_pk=None, + operation_pk=None, + current_right=None, +): + if operation_pk: + try: + bf = Operation.objects.get(pk=operation_pk) + except Operation.DoesNotExist: + raise Http404() + elif context_record_pk: + try: + bf = ContextRecord.objects.get(pk=context_record_pk) + except ContextRecord.DoesNotExist: + raise Http404() + else: + try: + bf = models.BaseFind.objects.get(pk=pk) + except models.BaseFind.DoesNotExist: + raise Http404() + dic = bf.get_geo_items(get_polygons=get_polygons) return HttpResponse(json.dumps(dic).encode("utf-8")) -- cgit v1.2.3