Antes de actualizar

This commit is contained in:
fjrodriguez
2023-02-24 12:26:21 -06:00
parent 4b5b044de9
commit 4983cdc8fa
8 changed files with 108 additions and 21 deletions

View File

@@ -102,10 +102,15 @@ class UploadZipVersionView(APIView):
def download_version_FromServer(request):
""""""
try:
sys= request.GET.get('sys')
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
print('BASE_DIR',BASE_DIR)
filename = 'CFDI.zip'
if sys:
filename=f'{sys}.zip'
else:
filename = 'CFDI.zip'
filepath = f'{BASE_DIR }/downloadSystems/{filename}'
#path = open(filepath, 'r')
with open(filepath, 'rb') as path:
mime_type, _ = mimetypes.guess_type(filepath)
@@ -159,6 +164,18 @@ class SistemasXCliente_ListView(UserPassesTestMixin,LoginRequiredMixin, ListView
messages.error(self.request, f'Lo sentimos. La página que buscas no está disponible, no cuentas con los permisos.')
return res
class SistemasBitacora_ListView(UserPassesTestMixin,LoginRequiredMixin, ListView):
model = BitacoraErrores
paginate_by = 5
template_name = 'Sistemas/Xclientes/listaBitacora.html'
def test_func(self):
res = self.request.user.groups.filter(name= 'admin_soft')
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 SistemasXCliente_DetailView(UserPassesTestMixin,LoginRequiredMixin, DetailView):
model = sistemas_por_cliente
template_name= 'Sistemas/Xclientes/detail.html'
@@ -167,7 +184,7 @@ class SistemasXCliente_DetailView(UserPassesTestMixin,LoginRequiredMixin, Detail
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
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
sistemas_por_cliente = self.object
@@ -177,7 +194,6 @@ class SistemasXCliente_DetailView(UserPassesTestMixin,LoginRequiredMixin, Detail
context['devices'] = Device.objects.filter(sistema=sistema, client=cliente.id)
return context
class SistemasxCliente_CreateView(CreateView):
model = sistemas_por_cliente
fields = ['id_sistema', 'cliente', 'num_licencias']
@@ -199,11 +215,37 @@ class Sistema_CreateView(CreateView):
return JsonResponse(data)
'''
========================= API Views
========================= API Views
'''
class GetDeviceToken(APIView):
authentication_classes= [TokenAuthentication]
permissions_classes=[IsAuthenticated, HasAuthorizationHeader]
def post(self,request):
try:
data = request.data
device = Device.objects.filter(
client__RFC=data.get('client'),
device_name=data.get('device_name'),
ip_address=data.get('ip_address'),
sistema=data.get('sistema'),
macAddress=data.get('macAddress')
).first()
if device is not None:
token = {"token":str(device.token)}
else:
token = {"token":""}
return Response(token)
except Exception as ex:
BitacoraErrores.objects.create(
level=2,
message=str(ex),
traceback=traceback.format_exc(),
view='Sistemas.GetDeviceToken'
)
return Response(
{'Error':f'{ex}','isError':True}
, status=status.HTTP_200_OK)
class RegisterDeviceView(APIView):
permissions_classes = (permissions.AllowAny,)
@@ -217,13 +259,12 @@ class RegisterDeviceView(APIView):
else:
return Response({'Error':f'{serializer.errors}','isError':True}, status=status.HTTP_200_OK)
except Exception as ex:
BitacoraErrores.objects.create(level=2, message=str(ex), traceback=traceback.format_exc(), view='Sistemas.RegisterDeviceView')
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)
class AuthenticateDeviceView(APIView):
authentication_classes= [TokenAuthentication]
permissions_classes=[IsAuthenticated, HasAuthorizationHeader]
@@ -248,8 +289,8 @@ class AuthenticateDeviceView(APIView):
BitacoraErrores.objects.create(level=2, message=str(ex), traceback=traceback.format_exc(), view='Sistemas.AuthenticateDeviceView')
return Response(
{'Error':f'{ex}','isError':True}
, status=status.HTTP_200_OK)
, status=status.HTTP_200_OK
)
class LogoutView(APIView):
authentication_classes = (TokenAuthentication,)