decode rfcc add timbres

This commit is contained in:
fjrodriguez
2023-03-28 11:22:21 -06:00
parent 17795193d3
commit 763d4a48d5
2 changed files with 16 additions and 10 deletions

View File

@@ -2,6 +2,7 @@ import os
import re import re
import datetime import datetime
import functools import functools
import urllib.parse
from asgiref.sync import sync_to_async from asgiref.sync import sync_to_async
from django.conf import settings from django.conf import settings
@@ -26,6 +27,7 @@ from rest_framework.response import Response
from rest_framework.permissions import IsAuthenticated from rest_framework.permissions import IsAuthenticated
from rest_framework import status from rest_framework import status
from Sistemas.permissions import ItsAdminToken from Sistemas.permissions import ItsAdminToken
#EXCEL #EXCEL
@@ -392,30 +394,32 @@ class check_RFC(APIView):
try: try:
if rfc is None or len(rfc)==0: if rfc is None or len(rfc)==0:
return Response({'Error': 'RFC parameter cannot be empty', 'isError': True}) return Response({'Error': 'RFC parameter cannot be empty', 'isError': True})
cliente, created = Clientes.objects.get_or_create(RFC=rfc) cliente, created = Clientes.objects.get_or_create(RFC=rfc)
serializer = ClienteSerializer(cliente) serializer = ClienteSerializer(cliente)
if created: if created:
cliente.Activo=True cliente.Activo=True
cliente.save() cliente.save()
if not serializer.is_valid: if not serializer.is_valid:
return Response({'Error':f'{serializer.errors}','isError':True},status=200) return Response({'Error':f'{serializer.errors}','isError':True},status=200)
return Response(serializer.data) return Response(serializer.data)
except Exception as E: except Exception as E:
return Response({'Error':f'check_RFC:{E} RFC:{rfc}','isError':True}) return Response({'Error':f'check_RFC:{E} RFC:{rfc}','isError':True})
class add_timbre2(APIView): class add_timbre2(APIView):
permission_classes = (IsAuthenticated,ItsAdminToken,) permission_classes = (IsAuthenticated,ItsAdminToken,)
def get(self,request): def get(self,request):
uuid= request.GET.get('uuid', None) uuid= request.GET.get('uuid', None)
rfcc= request.GET.get('rfcc', None) rfcc_encoded = request.GET.get('rfcc', None)
fecha=request.GET.get('fecha', None) fecha=request.GET.get('fecha', None)
folio=request.GET.get('folio', None) folio=request.GET.get('folio', None)
serie=request.GET.get('serie', None) serie=request.GET.get('serie', None)
tipo=request.GET.get('tipo', None) tipo=request.GET.get('tipo', None)
rfcp=request.GET.get('rfcp', None) rfcp_encoded=request.GET.get('rfcp', None)
modo=request.GET.get('modo', None) modo=request.GET.get('modo', None)
rfcc = urllib.parse.unquote(rfcc_encoded)
rfcp = urllib.parse.unquote(rfcp_encoded)
obj={'uuid':uuid,'rfcc':rfcc,'fecha':fecha,'folio':folio, obj={'uuid':uuid,'rfcc':rfcc,'fecha':fecha,'folio':folio,
'serie':serie,'tipo':tipo,'rfcp':rfcp,'modo':modo 'serie':serie,'tipo':tipo,'rfcp':rfcp,'modo':modo
} }
@@ -429,7 +433,7 @@ class add_timbre2(APIView):
rfcc=rfcc, rfcc=rfcc,
folio=folio, folio=folio,
modo=modo modo=modo
) )
return Response({'Error':f'{e}'}) return Response({'Error':f'{e}'})
class saldo_funct2(APIView): class saldo_funct2(APIView):

View File

@@ -177,16 +177,18 @@ class SistemasXCliente_DetailView(UserPassesTestMixin,LoginRequiredMixin, Detail
model = sistemas_por_cliente model = sistemas_por_cliente
template_name= 'Sistemas/Xclientes/detail.html' template_name= 'Sistemas/Xclientes/detail.html'
def test_func(self): def test_func(self):
"""Verifica que el usuario sea parte del grupo de admin_soft"""
res = self.request.user.groups.filter(name= 'admin_soft') res = self.request.user.groups.filter(name= 'admin_soft')
if not res: if not res:
messages.error(self.request, f'Lo sentimos. La página que buscas no está disponible, no cuentas con los permisos.') messages.error(self.request, f'Lo sentimos. La página que buscas no está disponible, no cuentas con los permisos.')
return res return res
def get_context_data(self, **kwargs): def get_context_data(self, **kwargs):
"""Filtra los Dispositivos por sistema del cliente"""
context = super().get_context_data(**kwargs) context = super().get_context_data(**kwargs)
sistemas_por_cliente = self.object sistemas_por_cliente_ = self.object #type: ignore
sistema = sistemas_por_cliente.id_sistema sistema = sistemas_por_cliente_.id_sistema
cliente = sistemas_por_cliente.cliente cliente = sistemas_por_cliente_.cliente
print(sistema.id, cliente.id)
context['devices'] = Device.objects.filter(sistema=sistema, client=cliente.id) context['devices'] = Device.objects.filter(sistema=sistema, client=cliente.id)
return context return context