diff options
Diffstat (limited to 'archaeological_finds/views.py')
| -rw-r--r-- | archaeological_finds/views.py | 34 | 
1 files changed, 27 insertions, 7 deletions
| diff --git a/archaeological_finds/views.py b/archaeological_finds/views.py index d0ac01305..06bbfe632 100644 --- a/archaeological_finds/views.py +++ b/archaeological_finds/views.py @@ -30,6 +30,8 @@ from django.core.urlresolvers import reverse  from django.db.models import Q  from django.http import HttpResponseRedirect, HttpResponse, Http404  from django.shortcuts import redirect + +from archaeological_context_records.models import ContextRecord  from ishtar_common.utils import ugettext_lazy as _  from django.views.generic import TemplateView  from django.views.generic.edit import CreateView, FormView @@ -37,7 +39,7 @@ from django.views.generic.edit import CreateView, FormView  from ishtar_common.serializers import PublicSerializer  from ishtar_common.models import IshtarUser, get_current_profile -from archaeological_operations.models import AdministrativeAct +from archaeological_operations.models import AdministrativeAct, Operation  from archaeological_finds import models  from ishtar_common.forms import FinalForm @@ -1318,10 +1320,28 @@ class PublicFindAPI(APIView):          return Response(serializer.data) -def get_geo_items(request, pk, get_polygons, current_right=None): -    try: -        base_find = models.BaseFind.objects.get(pk=pk) -    except models.BaseFind.DoesNotExist: -        raise Http404() -    dic = base_find.get_geo_items(get_polygons=get_polygons) +def get_geo_items( +    request, +    get_polygons, +    pk=None, +    context_record_pk=None, +    operation_pk=None, +    current_right=None, +): +    if operation_pk: +        try: +            bf = Operation.objects.get(pk=operation_pk) +        except Operation.DoesNotExist: +            raise Http404() +    elif context_record_pk: +        try: +            bf = ContextRecord.objects.get(pk=context_record_pk) +        except ContextRecord.DoesNotExist: +            raise Http404() +    else: +        try: +            bf = models.BaseFind.objects.get(pk=pk) +        except models.BaseFind.DoesNotExist: +            raise Http404() +    dic = bf.get_geo_items(get_polygons=get_polygons)      return HttpResponse(json.dumps(dic).encode("utf-8")) | 
