updates Bitacore

This commit is contained in:
fjrodriguez
2023-02-09 11:35:27 -06:00
parent 814412e9bf
commit b73a4d50d0
4 changed files with 48 additions and 21 deletions

View File

@@ -1,9 +1,10 @@
from django.contrib import admin from django.contrib import admin
from .models import Sistema, sistemas_por_cliente, Device,DeviceHistory from .models import Sistema, sistemas_por_cliente, Device,DeviceHistory, BitacoraErrores
# Register your models here. # Register your models here.
class BitacoraErroresAdmin(admin.ModelAdmin):
list_display = ['level', 'message']
class Sistema_Admin(admin.ModelAdmin): class Sistema_Admin(admin.ModelAdmin):
def NSistema(self,obj): def NSistema(self,obj):
return obj.nombre_sistema return obj.nombre_sistema
@@ -21,7 +22,7 @@ class DeviceHistoryAdmin(admin.ModelAdmin):
class DeviceAdmin(admin.ModelAdmin): class DeviceAdmin(admin.ModelAdmin):
list_display = ['client', 'device_name', 'ip_address', 'sistema', 'macAddress'] list_display = ['client', 'device_name', 'ip_address', 'sistema', 'macAddress']
admin.site.register(BitacoraErrores,BitacoraErroresAdmin)
admin.site.register(Sistema,Sistema_Admin) admin.site.register(Sistema,Sistema_Admin)
admin.site.register(sistemas_por_cliente,SPC) admin.site.register(sistemas_por_cliente,SPC)
admin.site.register(Device,DeviceAdmin) admin.site.register(Device,DeviceAdmin)

View File

@@ -0,0 +1,18 @@
# Generated by Django 4.1.3 on 2023-02-09 16:32
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('Sistemas', '0011_bitacoraerrores'),
]
operations = [
migrations.AddField(
model_name='bitacoraerrores',
name='view',
field=models.CharField(blank=True, max_length=150, null=True),
),
]

View File

@@ -20,6 +20,7 @@ class BitacoraErrores(models.Model):
message = models.TextField() message = models.TextField()
timestamp = models.DateTimeField(auto_now_add=True) timestamp = models.DateTimeField(auto_now_add=True)
traceback = models.TextField(null=True,blank=True) traceback = models.TextField(null=True,blank=True)
view = models.CharField(max_length=150,null=True,blank=True)
def __str__(self): def __str__(self):
return f"{self.get_level_display()}: {self.message}" return f"{self.get_level_display()}: {self.message}"

View File

@@ -13,7 +13,7 @@ from django.contrib.auth.mixins import LoginRequiredMixin, UserPassesTestMixin
from .models import sistemas_por_cliente, DeviceHistory,Device from .models import sistemas_por_cliente, DeviceHistory,Device
from .serializers import DeviceSerializer from .serializers import DeviceSerializer
from .permissions import HasAuthorizationHeader from .permissions import HasAuthorizationHeader
from .models import Sistema from .models import Sistema, BitacoraErrores
from django.utils import timezone from django.utils import timezone
import re import re
@@ -26,22 +26,25 @@ from django.contrib.sessions.models import Session
from django.http.response import HttpResponse from django.http.response import HttpResponse
import os import os
import mimetypes import mimetypes
import traceback
def download_version_FromServer(request): def download_version_FromServer(request):
try:
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
print('BASE_DIR',BASE_DIR) print('BASE_DIR',BASE_DIR)
filename = 'CFDI.zip' filename = 'CFDI.zip'
filepath = f'{BASE_DIR }/downloadSystems/{filename}' filepath = f'{BASE_DIR }/downloadSystems/{filename}'
#path = open(filepath, 'r') #path = open(filepath, 'r')
with open(filepath, 'rb') as path: with open(filepath, 'rb') as path:
mime_type, _ = mimetypes.guess_type(filepath) mime_type, _ = mimetypes.guess_type(filepath)
print(mime_type)
response = HttpResponse(path.read(),content_type=mime_type) response = HttpResponse(path.read(),content_type=mime_type)
response['Content-Disposition']= f'attachment; filename={filename}' response['Content-Disposition']= f'attachment; filename={filename}'
return response#redirect('index') return response
except Exception as ex:
BitacoraErrores.objects.create(level=2, message=str(ex), traceback=traceback.format_exc(), view='Sistemas.download_version_FromServer')
return HttpResponse(status=204)
def get_logged_in_users(): def get_logged_in_users():
sessions = Session.objects.filter(expire_date__gte=timezone.now()) sessions = Session.objects.filter(expire_date__gte=timezone.now())
@@ -111,6 +114,7 @@ class RegisterDeviceView(APIView):
else: else:
return Response({'Error':f'{serializer.errors}','isError':True}, status=status.HTTP_200_OK) return Response({'Error':f'{serializer.errors}','isError':True}, status=status.HTTP_200_OK)
except Exception as ex: except Exception as ex:
BitacoraErrores.objects.create(level=2, message=str(ex), traceback=traceback.format_exc(), view='Sistemas.RegisterDeviceView')
return Response( return Response(
{'Error':f'{ex}','isError':True} {'Error':f'{ex}','isError':True}
, status=status.HTTP_200_OK) , status=status.HTTP_200_OK)
@@ -133,10 +137,12 @@ class AuthenticateDeviceView(APIView):
if device_data.serializer.is_valid: if device_data.serializer.is_valid:
return Response(device_data.serializer.data, status=status.HTTP_200_OK) return Response(device_data.serializer.data, status=status.HTTP_200_OK)
else: else:
BitacoraErrores.objects.create(level=3, message=str(device_data.serializer.errors), traceback=traceback.format_exc(), view='Sistemas.AuthenticateDeviceView')
return Response( return Response(
{'Error':f'{device_data.serializer.errors}','isError':True} {'Error':f'{device_data.serializer.errors}','isError':True}
, status=status.HTTP_200_OK) , status=status.HTTP_200_OK)
except Exception as ex: except Exception as ex:
BitacoraErrores.objects.create(level=2, message=str(ex), traceback=traceback.format_exc(), view='Sistemas.AuthenticateDeviceView')
return Response( return Response(
{'Error':f'{ex}','isError':True} {'Error':f'{ex}','isError':True}
, status=status.HTTP_200_OK) , status=status.HTTP_200_OK)
@@ -163,9 +169,9 @@ class CheckVersionView(APIView):
try: try:
ver = Sistema.objects.get(nombre_sistema="CFDI") ver = Sistema.objects.get(nombre_sistema="CFDI")
server_version = [int(x) for x in ver.version.split(".")] server_version = [int(x) for x in ver.version.split(".")]
except Exception as e: except Exception as ex:
BitacoraErrores.objects.create(level=2, message=str(ex), traceback=traceback.format_exc(), view='Sistemas.CheckVersionView')
return Response({'success':True, 'actualizar':False}) return Response({'Error':f'{ex}','isError':True})
print('server_version', server_version) print('server_version', server_version)
@@ -181,4 +187,5 @@ class CheckVersionView(APIView):
print('equal') print('equal')
return Response({'success':True, 'actualizar':result}) return Response({'success':True, 'actualizar':result})
except Exception as ex: except Exception as ex:
BitacoraErrores.objects.create(level=2, message=str(ex), traceback=traceback.format_exc(), view='Sistemas.CheckVersionView')
return Response({'Error':f'{ex}','isError':True}) return Response({'Error':f'{ex}','isError':True})