forked from TDTP/admin_transporte_backend
avance mantenedor roles
parent
3331a4df7f
commit
d42149192f
|
@ -8,8 +8,8 @@ POST {{server}}/auth/
|
|||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"username": "0",
|
||||
"password": "0"
|
||||
"username": "usuario1",
|
||||
"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}}
|
|
@ -130,6 +130,11 @@ class RolAplicacionSerializer(serializers.ModelSerializer):
|
|||
model = models.RolAplicacion
|
||||
fields = '__all__'
|
||||
|
||||
class RolLineaSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = models.RolLinea
|
||||
fields = '__all__'
|
||||
|
||||
class LetreroLUR_Serializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
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 paradero_imagen, linea_paradero
|
||||
from api.views import dispositivo
|
||||
from api.views import rol_linea
|
||||
# from api.views import proto
|
||||
|
||||
router = routers.DefaultRouter()
|
||||
|
@ -27,6 +28,7 @@ router.register('letreros-lur', letrero_lur.LetreroLUR_ViewSet)
|
|||
router.register('operadores', operador.OperadorViewSet)
|
||||
router.register('roles', rol.RolViewSet)
|
||||
router.register('rolyaplicacion', rolaplicacion.RolAplicacionViewSet, basename='rol_aplicacion')
|
||||
router.register('roles-lineas', rol_linea.RolLineaViewSet, basename='rol_linea')
|
||||
|
||||
urlpatterns = [
|
||||
path('', include(router.urls)),
|
||||
|
|
|
@ -1,6 +1,16 @@
|
|||
from rest_framework import viewsets
|
||||
from .. import models, serializers
|
||||
from django.db import models as dj_models
|
||||
|
||||
class RolViewSet(viewsets.ModelViewSet):
|
||||
queryset = models.Rol.objects.all()
|
||||
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)
|
||||
|
||||
@action(detail=False, methods=['post'])
|
||||
def permiso(self, request):
|
||||
input = json.loads(request.body)
|
||||
def permisos(self, request):
|
||||
login = request.jwt_info['login']
|
||||
|
||||
logging.error(request.jwt_info)
|
||||
usuario = models.Usuario.objects.filter(login=input['login'])
|
||||
usuario = models.Usuario.objects.filter(login=login).first()
|
||||
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({
|
||||
"path": input['path'],
|
||||
"permisos": {
|
||||
"": 1,
|
||||
"MensajeParadero": "No considerar, uso futuro"
|
||||
}
|
||||
aplicaciones.append({
|
||||
'id_aplicacion': registro.id_aplicacion.id_aplicacion,
|
||||
'path_app': registro.id_aplicacion.path_app,
|
||||
'nombre_app': registro.id_aplicacion.nombre_app,
|
||||
'escritura': escritura
|
||||
})
|
||||
|
||||
return JsonResponse({ "aplicaciones": aplicaciones })
|
Loading…
Reference in New Issue