Coverage for api\views\catalog_views.py: 100.0%

27 statements  

« prev     ^ index     » next       coverage.py v7.15.2, created at 2026-08-30 20:58 +0200

1""" 

2Endpoints de los catalogos: tipos de usuario, tipos de preferencia, criterios de 

3valoracion, distintivos ambientales y estados de viaje y de solicitud 

4""" 

5from rest_framework import viewsets 

6from rest_framework.permissions import IsAuthenticated 

7 

8from api.serializers.travel_serializer import RequestStatesSerializer, TravelStatesSerializer 

9from api.serializers.user_serializer import ( 

10 CriteriaSerializer, 

11 EnvTypesSerializer, 

12 PrefTypesSerializer, 

13 UserTypeSerializer, 

14) 

15from api.soft_delete import SoftDeleteQuerysetMixin 

16from travels.models import RequestStates, TravelStates 

17from users.models import Criteria, EnvTypes, PrefTypes, UserType 

18 

19 

20# Base comun: solo lectura y sin los elementos marcados como borrados 

21class CatalogViewSet(SoftDeleteQuerysetMixin, viewsets.ReadOnlyModelViewSet): 

22 permission_classes = [IsAuthenticated] 

23 

24# Tipos de usuario 

25class UserTypeViewSet(CatalogViewSet): 

26 queryset = UserType.objects.all() 

27 serializer_class = UserTypeSerializer 

28 

29# Tipos de preferencia que puede declarar un usuario 

30class PrefTypesViewSet(CatalogViewSet): 

31 queryset = PrefTypes.objects.all() 

32 serializer_class = PrefTypesSerializer 

33 

34# Criterios con los que se valora a un conductor 

35class CriteriaViewSet(CatalogViewSet): 

36 queryset = Criteria.objects.all() 

37 serializer_class = CriteriaSerializer 

38 

39# Distintivos ambientales de los vehiculos 

40class EnvTypesViewSet(CatalogViewSet): 

41 queryset = EnvTypes.objects.all() 

42 serializer_class = EnvTypesSerializer 

43 

44# Estados por los que pasa un viaje 

45class TravelStatesViewSet(CatalogViewSet): 

46 queryset = TravelStates.objects.all() 

47 serializer_class = TravelStatesSerializer 

48 

49# Estados por los que pasa una solicitud de viaje 

50class RequestStatesViewSet(CatalogViewSet): 

51 queryset = RequestStates.objects.all() 

52 serializer_class = RequestStatesSerializer