# *coding: utf-8*
from api.serializers import *
from rest_framework import generics
from rest_framework import permissions
from oauth2_provider.ext.rest_framework import TokenHasReadWriteScope
from django_filters.rest_framework import DjangoFilterBackend



class TownListView(generics.ListCreateAPIView):
    """
            Renvoi la liste de toutes les villes disponibles
    """
    #permission_classes = [permissions.IsAuthenticated, TokenHasReadWriteScope]
    queryset = Town.objects.filter(valid=True).order_by('city')
    serializer_class = TownSerializer
    ordering_fields = ('city')
    filter_backends = (DjangoFilterBackend,)


class TownDetailView(generics.RetrieveUpdateDestroyAPIView):
    #permission_classes = [permissions.IsAuthenticated, TokenHasReadWriteScope]
    queryset = Town.objects.filter(valid=True)
    serializer_class = TownSerializer
