summaryrefslogtreecommitdiff
path: root/archaeological_finds
diff options
context:
space:
mode:
Diffstat (limited to 'archaeological_finds')
-rw-r--r--archaeological_finds/models_finds.py1
-rw-r--r--archaeological_finds/urls.py13
-rw-r--r--archaeological_finds/views.py2
-rw-r--r--archaeological_finds/views_api.py16
4 files changed, 31 insertions, 1 deletions
diff --git a/archaeological_finds/models_finds.py b/archaeological_finds/models_finds.py
index 2218cb011..5570af0d5 100644
--- a/archaeological_finds/models_finds.py
+++ b/archaeological_finds/models_finds.py
@@ -1758,6 +1758,7 @@ class Find(
"cached_object_types",
"cached_materials",
]
+ SERIALIZE_PROPERTIES = ["external_id"]
objects = UUIDModelManager()
# fields
diff --git a/archaeological_finds/urls.py b/archaeological_finds/urls.py
index 532e22ab0..518a2af7e 100644
--- a/archaeological_finds/urls.py
+++ b/archaeological_finds/urls.py
@@ -18,6 +18,7 @@
# See the file COPYING for details.
from django.conf.urls import url
+from django.urls import path
from ishtar_common.utils import check_rights, get_urls_for_model
@@ -613,6 +614,18 @@ urlpatterns = [
name="api-get-geo-points",
kwargs={"get_polygons": False},
),
+ url(
+ r"api/facets/find/$", views_api.FacetFindAPIView.as_view(),
+ name="api-facets-find"
+ ),
+ url(
+ r"api/search/find/$", views_api.SearchFindAPI.as_view(),
+ name="api-search-find"
+ ),
+ path(
+ "api/get/find/<int:pk>/", views_api.GetFindAPI.as_view(),
+ name="api-get-find"
+ ),
]
urlpatterns += get_urls_for_model(models.Find, views, own=True, autocomplete=True)
diff --git a/archaeological_finds/views.py b/archaeological_finds/views.py
index db8c4b04e..d8fd48353 100644
--- a/archaeological_finds/views.py
+++ b/archaeological_finds/views.py
@@ -195,6 +195,8 @@ def show_find_extra(request, find):
if not request.user or not request.user.ishtaruser:
return {}
user = request.user.ishtaruser
+ if isinstance(find, dict):
+ return {"baskets": []}
q = (
models.FindBasket.objects.filter(items__pk=find.pk)
.filter(
diff --git a/archaeological_finds/views_api.py b/archaeological_finds/views_api.py
index 66cadeb5e..64831de57 100644
--- a/archaeological_finds/views_api.py
+++ b/archaeological_finds/views_api.py
@@ -2,9 +2,10 @@ from rest_framework import authentication, permissions
from rest_framework.views import APIView
from rest_framework.response import Response
+from ishtar_common.rest import SearchAPIView, FacetAPIView, GetAPIView
from ishtar_common.serializers import PublicSerializer
-from archaeological_finds import models
+from archaeological_finds import models, forms
class PublicFindAPI(APIView):
@@ -38,3 +39,16 @@ class PublicFindAPI(APIView):
def get(self, request, format=None):
serializer = PublicSerializer(self.get_queryset(), many=True)
return Response(serializer.data)
+
+
+class FacetFindAPIView(FacetAPIView):
+ models = [models.Find]
+ select_forms = [forms.FindSelect]
+
+
+class SearchFindAPI(SearchAPIView):
+ model = models.Find
+
+
+class GetFindAPI(GetAPIView):
+ model = models.Find