forked from TDTP/admin_transporte_backend
se cambia rol_linea por rol_operador
parent
64bd566a8a
commit
1f13661f2d
|
@ -8,8 +8,8 @@ POST {{server}}/auth/
|
|||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"username": "usuario1",
|
||||
"password": "usuario1"
|
||||
"rut": "22222222-2",
|
||||
"password": "usuario2"
|
||||
}
|
||||
|
||||
###
|
||||
|
@ -41,5 +41,5 @@ Content-Type: application/json
|
|||
}
|
||||
|
||||
###
|
||||
GET {{server}}/lineas/?offset=0&limit=10
|
||||
GET {{server}}/operadores/
|
||||
Authorization: Bearer {{token}}
|
|
@ -304,6 +304,15 @@ class RolAplicacion(models.Model):
|
|||
db_table = 'rol_aplicacion'
|
||||
unique_together = (('id_aplicacion', 'id_rol'),)
|
||||
|
||||
class RolOperador(models.Model):
|
||||
id_rol_operador = models.AutoField(primary_key=True)
|
||||
id_rol = models.ForeignKey(Rol, models.DO_NOTHING, db_column='id_rol')
|
||||
id_operador = models.ForeignKey(Operador, models.DO_NOTHING, db_column='id_operador')
|
||||
|
||||
class Meta:
|
||||
managed = True
|
||||
db_table = 'rol_operador'
|
||||
unique_together = (('id_rol', 'id_operador'),)
|
||||
|
||||
class SpatialRefSys(models.Model):
|
||||
srid = models.IntegerField(primary_key=True)
|
||||
|
@ -395,16 +404,6 @@ class VehiculoLinea(models.Model):
|
|||
managed = False
|
||||
db_table = 'vehiculo_linea'
|
||||
unique_together = (('patente', 'id_linea'),)
|
||||
|
||||
class RolLinea(models.Model):
|
||||
id_rol_linea = models.AutoField(primary_key=True)
|
||||
id_rol = models.ForeignKey(Rol, models.DO_NOTHING, db_column='id_rol')
|
||||
id_linea = models.ForeignKey(Linea, models.DO_NOTHING, db_column='id_linea')
|
||||
|
||||
class Meta:
|
||||
managed = True
|
||||
db_table = 'rol_linea'
|
||||
unique_together = (('id_rol', 'id_linea'),)
|
||||
|
||||
class RedTransporte(models.Model):
|
||||
id_red = models.CharField(primary_key=True, max_length=10)
|
||||
|
|
|
@ -130,9 +130,9 @@ class RolAplicacionSerializer(serializers.ModelSerializer):
|
|||
model = models.RolAplicacion
|
||||
fields = '__all__'
|
||||
|
||||
class RolLineaSerializer(serializers.ModelSerializer):
|
||||
class RolOperadorSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = models.RolLinea
|
||||
model = models.RolOperador
|
||||
fields = '__all__'
|
||||
|
||||
class LetreroLUR_Serializer(serializers.ModelSerializer):
|
||||
|
|
|
@ -5,7 +5,7 @@ from api.views import usuario, auth, aplicacion, tipo, persona, comuna, region,
|
|||
from api.views import mapa, linea, letrero_lur, operador,red_transporte,gtfs_archivo
|
||||
from api.views import paradero, paradero_imagen, linea_paradero
|
||||
from api.views import dispositivo
|
||||
from api.views import rol_linea
|
||||
from api.views import rol_operador
|
||||
from api.views import upload
|
||||
|
||||
router = routers.DefaultRouter()
|
||||
|
@ -25,12 +25,12 @@ router.register('paraderos-image', paradero_imagen.ParaderoImagenListView, basen
|
|||
router.register('lineas', linea.LineaViewSet)
|
||||
router.register('lineas-paradero', linea_paradero.LineaParaderoViewSet)
|
||||
router.register('letreros-lur', letrero_lur.LetreroLUR_ViewSet)
|
||||
router.register('operadores', operador.OperadorViewSet)
|
||||
router.register('operadores', operador.OperadorViewSet, basename='operadores')
|
||||
router.register('red-transporte', red_transporte.RedTransporteViewSet)
|
||||
router.register('gtfs-archivo', gtfs_archivo.GtfsArchivoViewSet)
|
||||
router.register('roles', rol.RolViewSet)
|
||||
router.register('rolyaplicacion', rolaplicacion.RolAplicacionViewSet, basename='rol_aplicacion')
|
||||
router.register('roles-lineas', rol_linea.RolLineaViewSet, basename='rol_linea')
|
||||
router.register('roles-operadores', rol_operador.RolOperadorViewSet, basename='rol_operador')
|
||||
|
||||
urlpatterns = [
|
||||
path('', include(router.urls)),
|
||||
|
|
|
@ -18,20 +18,9 @@ class LineaViewSet(viewsets.ModelViewSet):
|
|||
queryset = models.Linea.objects.all()
|
||||
serializer_class = serializers.LineaSerializer
|
||||
filter_backends = [DjangoFilterBackend, OrderingFilter]
|
||||
filterset_fields = ['id_operador', 'route_short_name', 'route_long_name', 'vigente', 'rollinea__id_rol']
|
||||
filterset_fields = ['id_operador', 'route_short_name', 'route_long_name', 'vigente']
|
||||
ordering_fields = '__all__'
|
||||
|
||||
def list(self, request, pk=None, *args, **kwargs):
|
||||
login = request.jwt_info['login']
|
||||
usuario = models.Usuario.objects.filter(login=login).first()
|
||||
|
||||
if usuario.superuser != True:
|
||||
self.request.GET.rollinea__id_rol = usuario.id_rol.id_rol
|
||||
request.GET.rollinea__id_rol = usuario.id_rol.id_rol
|
||||
# request.GET.setdefault('rollinea__id_rol',usuario.id_rol)
|
||||
|
||||
return super().list(request, pk, *args, **kwargs)
|
||||
|
||||
@action(detail=False, methods=['get'])
|
||||
def proto(self, request, pk=None):
|
||||
id_paradero = request.GET['id_paradero']
|
||||
|
|
|
@ -6,14 +6,25 @@ from django_filters.rest_framework import DjangoFilterBackend
|
|||
from rest_framework.filters import OrderingFilter
|
||||
from rest_framework import status
|
||||
from api import models, serializers
|
||||
import logging
|
||||
|
||||
class OperadorViewSet(viewsets.ModelViewSet):
|
||||
queryset = models.Operador.objects.all()
|
||||
# queryset = models.Operador.objects.all()
|
||||
serializer_class = serializers.OperadorSerializer
|
||||
filter_backends = [DjangoFilterBackend, OrderingFilter]
|
||||
filterset_fields = ['id_region', 'nombre_operador', 'vigente']
|
||||
filterset_fields = ['id_region', 'nombre_operador', 'vigente', 'id_operador', 'roloperador__id_rol']
|
||||
ordering_fields = '__all__'
|
||||
|
||||
def get_queryset(self):
|
||||
login = self.request.jwt_info['login']
|
||||
usuario = models.Usuario.objects.filter(login=login).first()
|
||||
|
||||
if usuario.superuser:
|
||||
return models.Operador.objects.all()
|
||||
else:
|
||||
return models.Operador.objects.filter(roloperador__id_rol=usuario.id_rol.id_rol)
|
||||
|
||||
|
||||
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')
|
||||
|
|
|
@ -1,14 +0,0 @@
|
|||
from rest_framework import viewsets
|
||||
from .. import models, serializers
|
||||
import logging
|
||||
|
||||
class RolLineaViewSet(viewsets.ModelViewSet):
|
||||
serializer_class = serializers.RolLineaSerializer
|
||||
|
||||
def get_queryset(self):
|
||||
id_rol = self.request.query_params.get('id_rol') # Obtener el valor del parámetro id_rol desde la solicitud
|
||||
|
||||
if id_rol is not None:
|
||||
return models.RolLinea.objects.filter(id_rol=id_rol)
|
||||
|
||||
return models.RolLinea.objects.all()
|
|
@ -0,0 +1,14 @@
|
|||
from rest_framework import viewsets
|
||||
from api import models, serializers
|
||||
import logging
|
||||
|
||||
class RolOperadorViewSet(viewsets.ModelViewSet):
|
||||
serializer_class = serializers.RolOperadorSerializer
|
||||
|
||||
def get_queryset(self):
|
||||
id_rol = self.request.query_params.get('id_rol') # Obtener el valor del parámetro id_rol desde la solicitud
|
||||
|
||||
if id_rol is not None:
|
||||
return models.RolOperador.objects.filter(id_rol=id_rol)
|
||||
|
||||
return models.RolOperador.objects.all()
|
Loading…
Reference in New Issue