se cambia rol_linea por rol_operador
parent
64bd566a8a
commit
1f13661f2d
|
@ -8,8 +8,8 @@ POST {{server}}/auth/
|
||||||
Content-Type: application/json
|
Content-Type: application/json
|
||||||
|
|
||||||
{
|
{
|
||||||
"username": "usuario1",
|
"rut": "22222222-2",
|
||||||
"password": "usuario1"
|
"password": "usuario2"
|
||||||
}
|
}
|
||||||
|
|
||||||
###
|
###
|
||||||
|
@ -41,5 +41,5 @@ Content-Type: application/json
|
||||||
}
|
}
|
||||||
|
|
||||||
###
|
###
|
||||||
GET {{server}}/lineas/?offset=0&limit=10
|
GET {{server}}/operadores/
|
||||||
Authorization: Bearer {{token}}
|
Authorization: Bearer {{token}}
|
|
@ -304,6 +304,15 @@ class RolAplicacion(models.Model):
|
||||||
db_table = 'rol_aplicacion'
|
db_table = 'rol_aplicacion'
|
||||||
unique_together = (('id_aplicacion', 'id_rol'),)
|
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):
|
class SpatialRefSys(models.Model):
|
||||||
srid = models.IntegerField(primary_key=True)
|
srid = models.IntegerField(primary_key=True)
|
||||||
|
@ -395,16 +404,6 @@ class VehiculoLinea(models.Model):
|
||||||
managed = False
|
managed = False
|
||||||
db_table = 'vehiculo_linea'
|
db_table = 'vehiculo_linea'
|
||||||
unique_together = (('patente', 'id_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):
|
class RedTransporte(models.Model):
|
||||||
id_red = models.CharField(primary_key=True, max_length=10)
|
id_red = models.CharField(primary_key=True, max_length=10)
|
||||||
|
|
|
@ -130,9 +130,9 @@ class RolAplicacionSerializer(serializers.ModelSerializer):
|
||||||
model = models.RolAplicacion
|
model = models.RolAplicacion
|
||||||
fields = '__all__'
|
fields = '__all__'
|
||||||
|
|
||||||
class RolLineaSerializer(serializers.ModelSerializer):
|
class RolOperadorSerializer(serializers.ModelSerializer):
|
||||||
class Meta:
|
class Meta:
|
||||||
model = models.RolLinea
|
model = models.RolOperador
|
||||||
fields = '__all__'
|
fields = '__all__'
|
||||||
|
|
||||||
class LetreroLUR_Serializer(serializers.ModelSerializer):
|
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 mapa, linea, letrero_lur, operador,red_transporte,gtfs_archivo
|
||||||
from api.views import paradero, paradero_imagen, linea_paradero
|
from api.views import paradero, paradero_imagen, linea_paradero
|
||||||
from api.views import dispositivo
|
from api.views import dispositivo
|
||||||
from api.views import rol_linea
|
from api.views import rol_operador
|
||||||
from api.views import upload
|
from api.views import upload
|
||||||
|
|
||||||
router = routers.DefaultRouter()
|
router = routers.DefaultRouter()
|
||||||
|
@ -25,12 +25,12 @@ router.register('paraderos-image', paradero_imagen.ParaderoImagenListView, basen
|
||||||
router.register('lineas', linea.LineaViewSet)
|
router.register('lineas', linea.LineaViewSet)
|
||||||
router.register('lineas-paradero', linea_paradero.LineaParaderoViewSet)
|
router.register('lineas-paradero', linea_paradero.LineaParaderoViewSet)
|
||||||
router.register('letreros-lur', letrero_lur.LetreroLUR_ViewSet)
|
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('red-transporte', red_transporte.RedTransporteViewSet)
|
||||||
router.register('gtfs-archivo', gtfs_archivo.GtfsArchivoViewSet)
|
router.register('gtfs-archivo', gtfs_archivo.GtfsArchivoViewSet)
|
||||||
router.register('roles', rol.RolViewSet)
|
router.register('roles', rol.RolViewSet)
|
||||||
router.register('rolyaplicacion', rolaplicacion.RolAplicacionViewSet, basename='rol_aplicacion')
|
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 = [
|
urlpatterns = [
|
||||||
path('', include(router.urls)),
|
path('', include(router.urls)),
|
||||||
|
|
|
@ -18,20 +18,9 @@ class LineaViewSet(viewsets.ModelViewSet):
|
||||||
queryset = models.Linea.objects.all()
|
queryset = models.Linea.objects.all()
|
||||||
serializer_class = serializers.LineaSerializer
|
serializer_class = serializers.LineaSerializer
|
||||||
filter_backends = [DjangoFilterBackend, OrderingFilter]
|
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__'
|
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'])
|
@action(detail=False, methods=['get'])
|
||||||
def proto(self, request, pk=None):
|
def proto(self, request, pk=None):
|
||||||
id_paradero = request.GET['id_paradero']
|
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.filters import OrderingFilter
|
||||||
from rest_framework import status
|
from rest_framework import status
|
||||||
from api import models, serializers
|
from api import models, serializers
|
||||||
|
import logging
|
||||||
|
|
||||||
class OperadorViewSet(viewsets.ModelViewSet):
|
class OperadorViewSet(viewsets.ModelViewSet):
|
||||||
queryset = models.Operador.objects.all()
|
# queryset = models.Operador.objects.all()
|
||||||
serializer_class = serializers.OperadorSerializer
|
serializer_class = serializers.OperadorSerializer
|
||||||
filter_backends = [DjangoFilterBackend, OrderingFilter]
|
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__'
|
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):
|
def create(self, request, *args, **kwargs):
|
||||||
# Comprueba si 'id_operador' está presente en la petición y no está vacío
|
# Comprueba si 'id_operador' está presente en la petición y no está vacío
|
||||||
id_operador = request.data.get('id_operador')
|
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