diff options
Diffstat (limited to 'ishtar_common/views_item.py')
-rw-r--r-- | ishtar_common/views_item.py | 29 |
1 files changed, 28 insertions, 1 deletions
diff --git a/ishtar_common/views_item.py b/ishtar_common/views_item.py index 151dc1ac9..9ce651f7d 100644 --- a/ishtar_common/views_item.py +++ b/ishtar_common/views_item.py @@ -8,6 +8,7 @@ import datetime import json import logging import re +import requests import subprocess from tempfile import NamedTemporaryFile import unidecode @@ -59,7 +60,7 @@ from ishtar_common.models import get_current_profile, GeneralType, SearchAltName from ishtar_common.models_common import HistoryError from .menus import Menu -from . import models +from . import models, models_rest from archaeological_files.models import File from archaeological_operations.models import ( Operation, @@ -2342,3 +2343,29 @@ def get_item( return HttpResponse("{}", content_type="text/plain") return func + + +def get_distant_item(model): + def func( + request, + data_type="json", + full=False, + force_own=False, + col_names=None, + no_link=False, + no_limit=False, + return_query=False, + **dct + ): + if not request.GET.get("external_source", None): + return HttpResponse("{}", content_type="text/plain") + # TODO: check permissions + try: + src = models_rest.ApiExternalSource.objects.get( + pk=request.GET["external_source"]) + except models_rest.ApiExternalSource.DoesNotExist: + return HttpResponse("{}", content_type="text/plain") + url = src.url + + + return func |