improvements to router, y tests

This commit is contained in:
Sam
2021-01-22 12:33:59 +00:00
parent 6c3ff8f1fa
commit 2b46d01369
8 changed files with 118 additions and 285 deletions

View File

@@ -1,72 +1,42 @@
from rest_framework.response import Response
from tenants.views import CustomViewSet, CustomExternalViewSet
from rest_framework import viewsets, status
from rest_framework.decorators import permission_classes
from legalq.permissions import GlobalAccess
from rest_framework import viewsets
from back_latienda.permissions import IsCreator, ReadOnly
from . import models
from . import serializers
class CountryViewSet(CustomExternalViewSet):
class CountryViewSet(viewsets.ModelViewSet):
model = models.Country
read_serializer_class = serializers.CountryReadSerializer
write_serializer_class = serializers.CountryWriteSerializer
serializer_class = serializers.CountrySerializer
model_name = 'country'
queryset = models.Country.objects.all()
filterset_fields = ('name', )
def retrieve(self, request, *args, **kwargs):
instance = models.Country.objects.filter(pk=kwargs['pk']).first()
if instance is not None:
serializer = self.read_serializer_class(instance)
return Response(serializer.data)
return Response(status=status.HTTP_404_NOT_FOUND)
permission_classes = [GlobalAccess]
permission_classes = [ReadOnly]
class RegionViewSet(viewsets.ReadOnlyModelViewSet):
class RegionViewSet(viewsets.ModelViewSet):
model = models.Region
serializer_class = serializers.RegionReadSerializer
write_serializer_class = serializers.RegionWriteSerializer
serializer_class = serializers.RegionSerializer
model_name = 'region'
queryset = models.Region.objects.all()
filterset_fields = ('name', 'country__name')
permission_classes = [GlobalAccess]
permission_classes = [ReadOnly]
class ProvinceViewSet(CustomExternalViewSet):
class ProvinceViewSet(viewsets.ModelViewSet):
model = models.Province
read_serializer_class = serializers.ProvinceReadSerializer
serializer_class = serializers.ProvinceSerializer
model_name = 'region'
queryset = models.Province.objects.all()
filterset_fields = ('name', 'region__country__name')
def retrieve(self, request, *args, **kwargs):
instance = models.Province.objects.filter(pk=kwargs['pk']).first()
if instance is not None:
serializer = self.read_serializer_class(instance)
return Response(serializer.data)
return Response(status=status.HTTP_404_NOT_FOUND)
permission_classes = [GlobalAccess]
permission_classes = [ReadOnly]
class CityViewSet(CustomExternalViewSet):
class CityViewSet(viewsets.ModelViewSet):
model = models.City
read_serializer_class = serializers.CityReadSerializer
write_serializer_class = serializers.CityWriteSerializer
serializer_class = serializers.CitySerializer
model_name = 'city'
queryset = models.City.objects.all()
def retrieve(self, request, *args, **kwargs):
instance = models.City.objects.filter(pk=kwargs['pk']).first()
if instance is not None:
serializer = self.read_serializer_class(instance)
return Response(serializer.data)
return Response(status=status.HTTP_404_NOT_FOUND)
permission_classes = [GlobalAccess]
permission_classes = [ReadOnly]
filterset_fields = ('name', 'province__name', 'province__region__name')