forked from TDTP/admin_transporte_backend
avance mantenedor roles
parent
3331a4df7f
commit
d42149192f
|
@ -8,8 +8,8 @@ POST {{server}}/auth/
|
||||||
Content-Type: application/json
|
Content-Type: application/json
|
||||||
|
|
||||||
{
|
{
|
||||||
"username": "0",
|
"username": "usuario1",
|
||||||
"password": "0"
|
"password": "usuario1"
|
||||||
}
|
}
|
||||||
|
|
||||||
###
|
###
|
||||||
|
@ -22,5 +22,10 @@ Authorization: Bearer {{token}}
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
GET {{server}}/paraderos-image/??id_paradero=42318
|
GET {{server}}/paraderos-image/?id_paradero=42318
|
||||||
|
Authorization: Bearer {{token}}
|
||||||
|
|
||||||
|
###
|
||||||
|
# @name permisos
|
||||||
|
POST {{server}}/usuarios/permisos/
|
||||||
Authorization: Bearer {{token}}
|
Authorization: Bearer {{token}}
|
|
@ -130,6 +130,11 @@ class RolAplicacionSerializer(serializers.ModelSerializer):
|
||||||
model = models.RolAplicacion
|
model = models.RolAplicacion
|
||||||
fields = '__all__'
|
fields = '__all__'
|
||||||
|
|
||||||
|
class RolLineaSerializer(serializers.ModelSerializer):
|
||||||
|
class Meta:
|
||||||
|
model = models.RolLinea
|
||||||
|
fields = '__all__'
|
||||||
|
|
||||||
class LetreroLUR_Serializer(serializers.ModelSerializer):
|
class LetreroLUR_Serializer(serializers.ModelSerializer):
|
||||||
class Meta:
|
class Meta:
|
||||||
model = models.LetreroLUR
|
model = models.LetreroLUR
|
||||||
|
|
|
@ -5,6 +5,7 @@ from api.views import usuario, auth, aplicacion, tipo, persona, comuna, region,
|
||||||
from api.views import mapa, linea, letrero_lur, operador
|
from api.views import mapa, linea, letrero_lur, operador
|
||||||
from api.views import paradero_imagen, linea_paradero
|
from api.views import paradero_imagen, linea_paradero
|
||||||
from api.views import dispositivo
|
from api.views import dispositivo
|
||||||
|
from api.views import rol_linea
|
||||||
# from api.views import proto
|
# from api.views import proto
|
||||||
|
|
||||||
router = routers.DefaultRouter()
|
router = routers.DefaultRouter()
|
||||||
|
@ -27,6 +28,7 @@ router.register('letreros-lur', letrero_lur.LetreroLUR_ViewSet)
|
||||||
router.register('operadores', operador.OperadorViewSet)
|
router.register('operadores', operador.OperadorViewSet)
|
||||||
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')
|
||||||
|
|
||||||
urlpatterns = [
|
urlpatterns = [
|
||||||
path('', include(router.urls)),
|
path('', include(router.urls)),
|
||||||
|
|
|
@ -1,6 +1,16 @@
|
||||||
from rest_framework import viewsets
|
from rest_framework import viewsets
|
||||||
from .. import models, serializers
|
from .. import models, serializers
|
||||||
|
from django.db import models as dj_models
|
||||||
|
|
||||||
class RolViewSet(viewsets.ModelViewSet):
|
class RolViewSet(viewsets.ModelViewSet):
|
||||||
queryset = models.Rol.objects.all()
|
queryset = models.Rol.objects.all()
|
||||||
serializer_class = serializers.RolSerializer
|
serializer_class = serializers.RolSerializer
|
||||||
|
|
||||||
|
def create(self, request, *args, **kwargs):
|
||||||
|
# se indica que si no se indico el id, entonces sea el maximo + 1
|
||||||
|
if not request.data.get('id_rol', None):
|
||||||
|
max_id = models.Rol.objects.aggregate(dj_models.Max('id_rol'))['id_rol__max']
|
||||||
|
new_id = max_id + 1 if max_id is not None else 1
|
||||||
|
request.data['id_rol'] = new_id
|
||||||
|
|
||||||
|
return super().create(request, *args, **kwargs)
|
|
@ -0,0 +1,14 @@
|
||||||
|
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()
|
|
@ -153,17 +153,25 @@ class UsuarioViewSet(viewsets.ModelViewSet):
|
||||||
return HttpResponse(str(e), status = 500)
|
return HttpResponse(str(e), status = 500)
|
||||||
|
|
||||||
@action(detail=False, methods=['post'])
|
@action(detail=False, methods=['post'])
|
||||||
def permiso(self, request):
|
def permisos(self, request):
|
||||||
input = json.loads(request.body)
|
login = request.jwt_info['login']
|
||||||
|
|
||||||
logging.error(request.jwt_info)
|
usuario = models.Usuario.objects.filter(login=login).first()
|
||||||
usuario = models.Usuario.objects.filter(login=input['login'])
|
registros = models.RolAplicacion.objects.filter(id_rol=usuario.id_rol)
|
||||||
|
|
||||||
|
aplicaciones = []
|
||||||
|
for registro in registros:
|
||||||
|
if registro.id_aplicacion.vigente:
|
||||||
|
rol_app = models.RolAplicacion.objects.filter(id_rol=registro.id_rol, id_aplicacion=registro.id_aplicacion).first()
|
||||||
|
escritura = True
|
||||||
|
if rol_app != None:
|
||||||
|
escritura = rol_app.solo_visualizar != True
|
||||||
|
|
||||||
return JsonResponse({
|
aplicaciones.append({
|
||||||
"path": input['path'],
|
'id_aplicacion': registro.id_aplicacion.id_aplicacion,
|
||||||
"permisos": {
|
'path_app': registro.id_aplicacion.path_app,
|
||||||
"": 1,
|
'nombre_app': registro.id_aplicacion.nombre_app,
|
||||||
"MensajeParadero": "No considerar, uso futuro"
|
'escritura': escritura
|
||||||
}
|
})
|
||||||
})
|
|
||||||
|
return JsonResponse({ "aplicaciones": aplicaciones })
|
Loading…
Reference in New Issue