Cambios API Clientes permisos
This commit is contained in:
@@ -20,6 +20,8 @@ class DeviceHistoryAdmin(admin.ModelAdmin):
|
||||
|
||||
class DeviceAdmin(admin.ModelAdmin):
|
||||
list_display = ['client', 'device_name', 'ip_address', 'sistema', 'macAddress','database']
|
||||
list_filter = ['client', 'sistema']
|
||||
search_fields = ('client__Nombre',)
|
||||
|
||||
admin.site.register(BitacoraErrores,BitacoraErroresAdmin)
|
||||
admin.site.register(Sistema,Sistema_Admin)
|
||||
|
||||
@@ -1,14 +1,36 @@
|
||||
from rest_framework.permissions import BasePermission
|
||||
|
||||
|
||||
class HasAuthorizationHeader(BasePermission):
|
||||
def has_permission(self, request, view):
|
||||
return 'Authorization' in request.headers
|
||||
|
||||
class ItsAdminToken(BasePermission):
|
||||
def has_permission(self,request,view):
|
||||
return request.user.is_superuser
|
||||
|
||||
class ItsAdminGroup(BasePermission):
|
||||
def has_permission(self, request, view):
|
||||
return request.user.groups.filter(name= 'admin_soft')
|
||||
from rest_framework.permissions import BasePermission
|
||||
|
||||
from django.contrib.auth.models import Permission
|
||||
|
||||
class HasAuthorizationHeader(BasePermission):
|
||||
def has_permission(self, request, view):
|
||||
return 'Authorization' in request.headers
|
||||
|
||||
class ItsAdminToken(BasePermission):
|
||||
def has_permission(self,request,view):
|
||||
return request.user.is_superuser
|
||||
|
||||
class ItsAdminGroup(BasePermission):
|
||||
def has_permission(self, request, view):
|
||||
return request.user.groups.filter(name= 'admin_soft')
|
||||
|
||||
class CheckPermiso(BasePermission):
|
||||
|
||||
def has_permission(self, request, view):
|
||||
user = request.user
|
||||
print(user)
|
||||
permiso= request.META.get('HTTP_PERMISSION')
|
||||
print('permiso',permiso)
|
||||
print('es staff: ',user.is_staff)
|
||||
print('su: ',user.is_superuser)
|
||||
print('Permisos:', user.user_permissions.filter(codename = permiso))
|
||||
print(user.has_perm(permiso))
|
||||
print('Grupos',user.groups.all())
|
||||
if user.is_staff:
|
||||
return True
|
||||
|
||||
if user.is_superuser:
|
||||
return True
|
||||
|
||||
|
||||
return True
|
||||
@@ -8,7 +8,7 @@ from django.views.generic.edit import CreateView
|
||||
from rest_framework.authentication import TokenAuthentication
|
||||
from rest_framework.decorators import authentication_classes,api_view,permission_classes
|
||||
from rest_framework.exceptions import AuthenticationFailed
|
||||
|
||||
from rest_framework.authtoken.models import Token
|
||||
|
||||
from rest_framework.views import APIView
|
||||
from rest_framework.response import Response
|
||||
@@ -380,7 +380,7 @@ class CheckVersionView(APIView):
|
||||
class Custom_Login(APIView):
|
||||
"""Autentica al device"""
|
||||
authentication_classes= [TokenAuthentication]
|
||||
permissions_classes=[IsAuthenticated, HasAuthorizationHeader]
|
||||
permission_classes=[IsAuthenticated, HasAuthorizationHeader]
|
||||
|
||||
def post(self, request):
|
||||
username = request.data.get('username')
|
||||
@@ -389,7 +389,8 @@ class Custom_Login(APIView):
|
||||
user = authenticate(request, username=username,password=password)
|
||||
if user is not None:
|
||||
login(request,user)
|
||||
return Response({'access':True})
|
||||
token, created = Token.objects.get_or_create(user=user)
|
||||
return Response({'access':True, 'token':token.key})
|
||||
else:
|
||||
return Response({'access':False})
|
||||
except Exception as ex:
|
||||
|
||||
Reference in New Issue
Block a user