Commit 979b183a authored by Rafal's avatar Rafal

update

parent 394ca98b
......@@ -15,7 +15,6 @@ class BeaconSerializer(serializers.HyperlinkedModelSerializer):
fields = ('id', 'url', 'uuid', 'name', 'description', 'longitude', 'latitude')
class BeaconManagerSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = BeaconManager
fields = ('id', 'url', 'sites', 'beacon')
......
from django.core.exceptions import ObjectDoesNotExist
from django.shortcuts import render
# Create your views here.
from rest_framework import viewsets
import rest_framework
from rest_framework.response import Response
from rest_framework.views import APIView
from Hub.models import Beacon, BeaconManager, Site, Category
......@@ -38,10 +40,21 @@ class UuidBeaconViewSet(APIView):
queryset = Beacon.objects.all()
serializer_class = BeaconSerializer
def get(self, request, pk, format=None):
def get(self, request, pk, category_name = None,format=None):
beacon = Beacon.objects.get(uuid = pk)
beacon_manager = BeaconManager.objects.get(beacon=beacon)
serializer = BeaconManagerSerializer(beacon_manager, context={'request': request})
if category_name:
try:
category = Category.objects.get(name=category_name)
except ObjectDoesNotExist:
return Response(status=rest_framework.status.HTTP_400_BAD_REQUEST, data={"This category is not exist"})
try:
site = beacon_manager.sites.Category.objects.get(category=category)
except ObjectDoesNotExist:
return Response(status=rest_framework.status.HTTP_400_BAD_REQUEST, data={"Any link do not have this category"})
serializer = SiteSerializer(site, context={'request': request})
return Response(serializer.data)
serializer = SiteSerializer(beacon_manager.sites, many=True, context={'request': request})
return Response(serializer.data)
class CategoryViewSet(viewsets.ModelViewSet):
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment