Devices get token correct

This commit is contained in:
fjrodriguez
2023-04-05 14:23:08 -06:00
parent 01ecd88ace
commit 4db67be512
5 changed files with 24 additions and 25 deletions

View File

@@ -126,7 +126,7 @@ if DEBUG:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'cfdi_as',
'NAME': 'cfdi_as2',
'USER': 'root',
'PASSWORD':os.getenv("BD_PASS"),
'HOST': '127.0.0.1',

View File

@@ -10,7 +10,6 @@ from .views import (
Retrive_Cliente_Email,
PACS_Retrive_RFCS,
#API DRF
saldo_funct2,
add_timbre2,
@@ -25,7 +24,6 @@ urlpatterns = [
path('add_timbre/', add_timbre2.as_view(), name='add_timbre'),
path('cancela_timbre/', CancelaTimbre.as_view(), name='cancela_timbre'),
path('timbres_cliente/<str:RFC>/', timbres_cliente, name='timbres_cliente'),
path('cliente/update/<int:pk>/',ClientesUpdateView.as_view(),name='update_cliente'),
path('cliente/add/', ClientesCreateView.as_view(), name='add_cliente'),

View File

@@ -383,11 +383,10 @@ def PACS_Retrive_RFCS(request):
return JsonResponse({'PACS':timbres},status=status)
#-----------------------------------API VIEWS
#--------------------------------------------
class check_RFC(APIView):
"""Verifica que el cliente pueda Timbrar"""
permission_classes = (IsAuthenticated,ItsAdminToken,)
def get(self,request):
rfc = request.GET.get('RFC', None)
@@ -405,10 +404,9 @@ class check_RFC(APIView):
except Exception as E:
return Response({'Error':f'check_RFC:{E} RFC:{rfc}','isError':True})
class CancelaTimbre(APIView):
"""API CLASS for upload the CFDI Version into the server"""
permissions_classes=[IsAuthenticated,]
permissions_classes=[IsAuthenticated,ItsAdminToken]
def post(self,request,*args, **kwargs):
UUID = request.data.get('UUID')
@@ -416,8 +414,7 @@ class CancelaTimbre(APIView):
timbre = Timbres.objects.get(uuid=UUID)
obj={'uuid':f'{timbre.uuid}_','rfcc':timbre.rfcc,'fecha':timbre.fecha,'folio':timbre.folio,
'serie':timbre.serie,'tipo':'Cancela','rfcp':timbre.rfcp,'modo':'Normal'
}
'serie':timbre.serie,'tipo':'Cancela','rfcp':timbre.rfcp,'modo':'Normal'}
cancelaTimbre = Timbres.objects.create(**obj)
return Response({'success':True})
@@ -425,8 +422,6 @@ class CancelaTimbre(APIView):
BitacoraErrores.objects.create(level=2, message=str(ex), traceback=traceback.format_exc(), view='Sistemas.CancelaTimbre')
return Response({'Error':f'{ex}','isError':True})
class add_timbre(APIView):
pass
@@ -495,6 +490,7 @@ class ErroresTimbresListView(UserPassesTestMixin, LoginRequiredMixin,ListView):
if not res:
messages.error(self.request, f'Lo sentimos. La página que buscas no está disponible, no cuentas con los permisos.')
return res
class ClientesUpdateView(UserPassesTestMixin,LoginRequiredMixin,UpdateView):
model= Clientes
form_class=ClienteForm

View File

@@ -22,6 +22,7 @@ from .models import sistemas_por_cliente, DeviceHistory,Device
from .serializers import DeviceSerializer
from .permissions import HasAuthorizationHeader
from .models import Sistema, BitacoraErrores
from Clientes.models import Clientes
from .forms import SistemaForm,sistemas_por_clienteForm
from django.utils import timezone
import re
@@ -42,6 +43,8 @@ from .customStorage import CustomStorage
from django.contrib.auth.decorators import login_required
from django.db.models import Q
@login_required
def uploadZipViewHTML(request):
if request.method=="GET":
@@ -226,13 +229,17 @@ class GetDeviceToken(APIView):
try:
data = request.data
sis = Sistema.objects.get(nombre_sistema=data.get('sistema'))
cli = Clientes.objects.get(RFC=data.get('client'))
print('cli.id',cli.id)
device = Device.objects.filter(
client__RFC=data.get('client'),
device_name=data.get('device_name'),
ip_address=data.get('ip_address'),
sistema= sis.id,#data.get('sistema'),
macAddress=data.get('macAddress')
Q(client=cli.id)
#& Q(device_name=data.get('device_name'))
#& Q(ip_address=data.get('ip_address'))
#& Q(sistema= int(sis.id))
#& Q(macAddress__icontains=data.get('macAddress'))
).first()
print('device',device)
if device is not None:
token = {"token":str(device.token)}
else:
@@ -249,8 +256,8 @@ class GetDeviceToken(APIView):
class RegisterDeviceView(APIView):
"""Registra al Device"""
permissions_classes = (permissions.AllowAny,)
#permissions_classes = (permissions.AllowAny,)
permissions_classes=[IsAuthenticated, HasAuthorizationHeader]
def post(self,request):
try:
serializer = DeviceSerializer(data=request.data,context={'request':request})
@@ -262,9 +269,7 @@ class RegisterDeviceView(APIView):
except Exception as ex:
BitacoraErrores.objects.create(level=2, message=str(ex), traceback=traceback.format_exc(),
view='Sistemas.RegisterDeviceView')
return Response({'Error':f'{ex}','isError':True}
, status=status.HTTP_200_OK
)
return Response({'Error':f'{ex}','isError':True}, status=status.HTTP_200_OK)
class AuthenticateDeviceView(APIView):
"""Autentica al device"""