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
« 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
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
20# Base comun: solo lectura y sin los elementos marcados como borrados
21class CatalogViewSet(SoftDeleteQuerysetMixin, viewsets.ReadOnlyModelViewSet):
22 permission_classes = [IsAuthenticated]
24# Tipos de usuario
25class UserTypeViewSet(CatalogViewSet):
26 queryset = UserType.objects.all()
27 serializer_class = UserTypeSerializer
29# Tipos de preferencia que puede declarar un usuario
30class PrefTypesViewSet(CatalogViewSet):
31 queryset = PrefTypes.objects.all()
32 serializer_class = PrefTypesSerializer
34# Criterios con los que se valora a un conductor
35class CriteriaViewSet(CatalogViewSet):
36 queryset = Criteria.objects.all()
37 serializer_class = CriteriaSerializer
39# Distintivos ambientales de los vehiculos
40class EnvTypesViewSet(CatalogViewSet):
41 queryset = EnvTypes.objects.all()
42 serializer_class = EnvTypesSerializer
44# Estados por los que pasa un viaje
45class TravelStatesViewSet(CatalogViewSet):
46 queryset = TravelStates.objects.all()
47 serializer_class = TravelStatesSerializer
49# Estados por los que pasa una solicitud de viaje
50class RequestStatesViewSet(CatalogViewSet):
51 queryset = RequestStates.objects.all()
52 serializer_class = RequestStatesSerializer