2023-12-05 10:34:47 -03:00
|
|
|
|
|
|
|
from rest_framework import viewsets
|
|
|
|
from rest_framework.response import Response
|
|
|
|
from rest_framework.decorators import action
|
|
|
|
from django_filters.rest_framework import DjangoFilterBackend
|
2024-02-04 17:22:21 -03:00
|
|
|
from rest_framework.filters import OrderingFilter
|
2024-01-29 20:18:11 -03:00
|
|
|
from rest_framework import status
|
2024-02-04 17:22:21 -03:00
|
|
|
from api import models, serializers
|
2023-12-05 10:34:47 -03:00
|
|
|
|
|
|
|
class OperadorViewSet(viewsets.ModelViewSet):
|
|
|
|
queryset = models.Operador.objects.all()
|
|
|
|
serializer_class = serializers.OperadorSerializer
|
2024-02-04 17:22:21 -03:00
|
|
|
filter_backends = [DjangoFilterBackend, OrderingFilter]
|
2023-12-05 10:34:47 -03:00
|
|
|
filterset_fields = ['id_region', 'nombre_operador', 'vigente']
|
2024-02-04 17:22:21 -03:00
|
|
|
ordering_fields = '__all__'
|
2024-01-29 20:18:11 -03:00
|
|
|
|
|
|
|
def create(self, request, *args, **kwargs):
|
|
|
|
# Comprueba si 'id_operador' está presente en la petición y no está vacío
|
|
|
|
id_operador = request.data.get('id_operador')
|
|
|
|
if not id_operador:
|
|
|
|
# Si 'id_operador' no está presente o está vacío, retorna un error 400
|
|
|
|
return Response(
|
|
|
|
{"error": "No se puede crear el operador: 'id_operador' no proporcionado."},
|
|
|
|
status=status.HTTP_400_BAD_REQUEST
|
|
|
|
)
|
|
|
|
|
|
|
|
# Si 'id_operador' está presente, procede con la creación normal
|
|
|
|
return super().create(request, *args, **kwargs)
|