summaryrefslogtreecommitdiff
path: root/archaeological_warehouse
diff options
context:
space:
mode:
Diffstat (limited to 'archaeological_warehouse')
-rw-r--r--archaeological_warehouse/urls.py24
-rw-r--r--archaeological_warehouse/views_api.py23
2 files changed, 45 insertions, 2 deletions
diff --git a/archaeological_warehouse/urls.py b/archaeological_warehouse/urls.py
index e737125b7..870008de4 100644
--- a/archaeological_warehouse/urls.py
+++ b/archaeological_warehouse/urls.py
@@ -18,11 +18,11 @@
# See the file COPYING for details.
from django.conf.urls import url
+from django.urls import path
from ishtar_common.utils import check_rights
-from archaeological_warehouse import views
-from archaeological_warehouse import models
+from archaeological_warehouse import models, views, views_api
# be careful: each check_rights must be relevant with ishtar_menu
@@ -241,4 +241,24 @@ urlpatterns = [
views.GenerateStatsWarehouse.as_view(),
name="generate-stats-warehouse",
),
+ url(
+ r"api/facets/warehouse/$", views_api.FacetWarehouseAPIView.as_view(),
+ name="api-facets-warehouse"
+ ),
+ url(
+ r"api/search/warehouse/$", views_api.SearchWarehouseAPI.as_view(),
+ name="api-search-warehouse"
+ ),
+ path(
+ "api/get/warehouse/<int:pk>/", views_api.GetWarehouseAPI.as_view(),
+ name="api-get-warehouse"
+ ),
+ url(
+ r"api/search/container/$", views_api.SearchContainerAPI.as_view(),
+ name="api-search-container"
+ ),
+ path(
+ "api/get/container/<int:pk>/", views_api.GetContainerAPI.as_view(),
+ name="api-get-container"
+ ),
]
diff --git a/archaeological_warehouse/views_api.py b/archaeological_warehouse/views_api.py
new file mode 100644
index 000000000..468fe08c2
--- /dev/null
+++ b/archaeological_warehouse/views_api.py
@@ -0,0 +1,23 @@
+from ishtar_common.rest import SearchAPIView, FacetAPIView, GetAPIView
+from archaeological_warehouse import models, forms
+
+
+class FacetWarehouseAPIView(FacetAPIView):
+ models = [models.Warehouse, models.Container]
+ select_forms = [forms.WarehouseSelect, forms.ContainerSelect]
+
+
+class SearchWarehouseAPI(SearchAPIView):
+ model = models.Warehouse
+
+
+class SearchContainerAPI(SearchAPIView):
+ model = models.Container
+
+
+class GetWarehouseAPI(GetAPIView):
+ model = models.Warehouse
+
+
+class GetContainerAPI(GetAPIView):
+ model = models.Container