summaryrefslogtreecommitdiff
path: root/archaeological_finds/views.py
diff options
context:
space:
mode:
Diffstat (limited to 'archaeological_finds/views.py')
-rw-r--r--archaeological_finds/views.py25
1 files changed, 25 insertions, 0 deletions
diff --git a/archaeological_finds/views.py b/archaeological_finds/views.py
index cab774073..694a1e0ad 100644
--- a/archaeological_finds/views.py
+++ b/archaeological_finds/views.py
@@ -20,6 +20,9 @@
from collections import OrderedDict
import json
+from rest_framework.views import APIView
+from rest_framework.response import Response
+
from django.conf import settings
from django.core.exceptions import PermissionDenied
from django.core.urlresolvers import reverse
@@ -30,6 +33,7 @@ from django.utils.translation import ugettext_lazy as _
from django.views.generic import TemplateView
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
@@ -1001,3 +1005,24 @@ class QAFindbasketDuplicateFormView(QAItemForm):
**kwargs)
data['action_name'] = _(u"Duplicate")
return data
+
+
+class PublicFindAPI(APIView):
+ # authentication_classes = (authentication.TokenAuthentication,)
+ # permission_classes = (permissions.IsAdminUser,)
+
+ def get_queryset(self):
+ basket_slug = self.kwargs.get("basket", None)
+ if not basket_slug:
+ return models.Find.objects.filter(pk=None)
+ try:
+ basket = models.FindBasket.objects.get(
+ slug=basket, public=True)
+ except models.FindBasket.DoesNotExist:
+ return Http404()
+ return models.Find.objects.filter(basket=basket).order_by("pk")
+
+ def get(self, request, format=None):
+ serializer = PublicSerializer(self.get_queryset(), many=True)
+ return Response(serializer.data)
+