Commit 979b183a authored by Rafal's avatar Rafal

update

parent 394ca98b
...@@ -15,7 +15,6 @@ class BeaconSerializer(serializers.HyperlinkedModelSerializer): ...@@ -15,7 +15,6 @@ class BeaconSerializer(serializers.HyperlinkedModelSerializer):
fields = ('id', 'url', 'uuid', 'name', 'description', 'longitude', 'latitude') fields = ('id', 'url', 'uuid', 'name', 'description', 'longitude', 'latitude')
class BeaconManagerSerializer(serializers.HyperlinkedModelSerializer): class BeaconManagerSerializer(serializers.HyperlinkedModelSerializer):
class Meta: class Meta:
model = BeaconManager model = BeaconManager
fields = ('id', 'url', 'sites', 'beacon') fields = ('id', 'url', 'sites', 'beacon')
......
from django.core.exceptions import ObjectDoesNotExist
from django.shortcuts import render from django.shortcuts import render
# Create your views here. # Create your views here.
from rest_framework import viewsets from rest_framework import viewsets
import rest_framework
from rest_framework.response import Response from rest_framework.response import Response
from rest_framework.views import APIView from rest_framework.views import APIView
from Hub.models import Beacon, BeaconManager, Site, Category from Hub.models import Beacon, BeaconManager, Site, Category
...@@ -38,10 +40,21 @@ class UuidBeaconViewSet(APIView): ...@@ -38,10 +40,21 @@ class UuidBeaconViewSet(APIView):
queryset = Beacon.objects.all() queryset = Beacon.objects.all()
serializer_class = BeaconSerializer 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 = Beacon.objects.get(uuid = pk)
beacon_manager = BeaconManager.objects.get(beacon=beacon) 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) return Response(serializer.data)
class CategoryViewSet(viewsets.ModelViewSet): 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