From fa4b00372209425b18c57fe9af29a416ce36b39f Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Wed, 24 Nov 2021 08:13:12 +0100 Subject: Syndication - api view & url for find, context record, warehouse, container and file --- archaeological_files/models.py | 3 ++- archaeological_files/urls.py | 15 ++++++++++++++- archaeological_files/views_api.py | 15 +++++++++++++++ 3 files changed, 31 insertions(+), 2 deletions(-) create mode 100644 archaeological_files/views_api.py (limited to 'archaeological_files') diff --git a/archaeological_files/models.py b/archaeological_files/models.py index 6ea53c731..cdc996d95 100644 --- a/archaeological_files/models.py +++ b/archaeological_files/models.py @@ -61,7 +61,7 @@ from ishtar_common.models import ( HierarchicalType, ) -from ishtar_common.models_common import HistoricalRecords, Department +from ishtar_common.models_common import HistoricalRecords, Department, MainItem from archaeological_operations.models import ( get_values_town_related, @@ -516,6 +516,7 @@ class File( } HISTORICAL_M2M = ["towns", "departments"] + SERIALIZE_PROPERTIES = ["external_id"] # fields year = models.IntegerField(_("Year"), default=get_current_year) diff --git a/archaeological_files/urls.py b/archaeological_files/urls.py index 942987491..a8e0fa5a5 100644 --- a/archaeological_files/urls.py +++ b/archaeological_files/urls.py @@ -18,9 +18,10 @@ # 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_files import views +from archaeological_files import views, views_api from archaeological_operations.views import administrativeactfile_document # be carreful: each check_rights must be relevant with ishtar_menu @@ -165,4 +166,16 @@ urlpatterns = [ ), name="file-edit-preventive-copy-planned", ), + url( + r"api/facets/file/$", views_api.FacetFileAPIView.as_view(), + name="api-facets-file" + ), + url( + r"api/search/file/$", views_api.SearchFileAPI.as_view(), + name="api-search-file" + ), + path( + "api/get/file//", views_api.GetFileAPI.as_view(), + name="api-get-file" + ), ] diff --git a/archaeological_files/views_api.py b/archaeological_files/views_api.py new file mode 100644 index 000000000..b12634353 --- /dev/null +++ b/archaeological_files/views_api.py @@ -0,0 +1,15 @@ +from ishtar_common.rest import SearchAPIView, FacetAPIView, GetAPIView +from archaeological_files import models, forms + + +class FacetFileAPIView(FacetAPIView): + models = [models.File] + select_forms = [forms.FileSelect] + + +class SearchFileAPI(SearchAPIView): + model = models.File + + +class GetFileAPI(GetAPIView): + model = models.File -- cgit v1.2.3