summaryrefslogtreecommitdiff
path: root/archaeological_files
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2021-11-24 08:13:12 +0100
committerÉtienne Loks <etienne.loks@iggdrasil.net>2022-12-12 12:20:59 +0100
commitfa4b00372209425b18c57fe9af29a416ce36b39f (patch)
tree2d5197ad3fb0ac78b343732d3251de320ea07f72 /archaeological_files
parente3ce9c77d36db4510076b677ec7ce1e0021a51f8 (diff)
downloadIshtar-fa4b00372209425b18c57fe9af29a416ce36b39f.tar.bz2
Ishtar-fa4b00372209425b18c57fe9af29a416ce36b39f.zip
Syndication - api view & url for find, context record, warehouse, container and file
Diffstat (limited to 'archaeological_files')
-rw-r--r--archaeological_files/models.py3
-rw-r--r--archaeological_files/urls.py15
-rw-r--r--archaeological_files/views_api.py15
3 files changed, 31 insertions, 2 deletions
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/<int:pk>/", 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