diff options
-rw-r--r-- | archaeological_finds/tests.py | 4 | ||||
-rw-r--r-- | archaeological_finds/views.py | 7 |
2 files changed, 8 insertions, 3 deletions
diff --git a/archaeological_finds/tests.py b/archaeological_finds/tests.py index 03ad0314e..ae8540f85 100644 --- a/archaeological_finds/tests.py +++ b/archaeological_finds/tests.py @@ -2552,6 +2552,8 @@ class GeomaticTest(FindInit, TestCase): # test API find = base_find.find.all()[0] + response = self.client.get(reverse("api-get-geo-point", kwargs={"pk": 0})) + self.assertEqual(response.status_code, 404) response = self.client.get(reverse("api-get-geo-point", kwargs={"pk": find.pk})) self.assertEqual(response.status_code, 200) self.assertIn(json.dumps(dic).encode("utf-8"), response.content) @@ -2592,6 +2594,8 @@ class GeomaticTest(FindInit, TestCase): self.assertEqual(dict_centroid, res_centroid) # test API + response = self.client.get(reverse("api-get-geo-polygons", kwargs={"pk": 0})) + self.assertEqual(response.status_code, 404) response = self.client.get( reverse( "api-get-geo-polygons", diff --git a/archaeological_finds/views.py b/archaeological_finds/views.py index 6dab1b402..f4c66b3bf 100644 --- a/archaeological_finds/views.py +++ b/archaeological_finds/views.py @@ -1339,8 +1339,9 @@ class PublicFindAPI(APIView): def get_geo_items(request, pk, get_polygons, current_right=None): - base_find = models.BaseFind.objects.get(pk=pk) - if not base_find: - return Http404() + 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) return HttpResponse(json.dumps(dic).encode("utf-8")) |