This commit is contained in:
rexcom28
2023-05-17 09:07:53 -06:00
6 changed files with 27 additions and 53 deletions

View File

@@ -1,5 +1,6 @@
from django.contrib import admin from django.contrib import admin
from . models import Sistemas_por_cliente_A24, ClientesA24 from . models import Sistemas_por_cliente_A24, ClientesA24, DeviceA24
admin.site.register(Sistemas_por_cliente_A24) admin.site.register(Sistemas_por_cliente_A24)
admin.site.register(ClientesA24) admin.site.register(ClientesA24)
admin.site.register(DeviceA24)

View File

@@ -1,42 +0,0 @@
# Generated by Django 4.1.3 on 2023-04-26 16:55
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
initial = True
dependencies = [
('Sistemas', '0019_alter_device_options'),
]
operations = [
migrations.CreateModel(
name='ClientesA24',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('RFC', models.CharField(max_length=13, unique=True)),
('Nombre', models.CharField(max_length=100)),
('Activo', models.BooleanField(default=False)),
('fecha_baja', models.DateField(blank=True, null=True)),
],
options={
'ordering': ('-Activo', 'RFC'),
},
),
migrations.CreateModel(
name='Sistemas_por_cliente_A24',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('num_licencias', models.IntegerField(default=1)),
('cliente', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='cliente_spc_IMMEX', to='IMMEX.clientesa24')),
('id_sistema', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='sistema_spc_IMMEX', to='Sistemas.sistema')),
],
options={
'ordering': ('-cliente', 'id_sistema'),
'unique_together': {('id_sistema', 'cliente')},
},
),
]

View File

@@ -26,7 +26,7 @@ class Sistemas_por_cliente_A24(models.Model):
unique_together = ('id_sistema', 'cliente') unique_together = ('id_sistema', 'cliente')
class DeviceA24(models.Model): class DeviceA24(models.Model):
clienteA24 = models.ForeignKey(ClientesA24, related_name='cliA24',on_delete=models.CASCADE) clienteA24 = models.ForeignKey(ClientesA24,on_delete=models.CASCADE)
deviceName = models.CharField(max_length=255) deviceName = models.CharField(max_length=255)
deviceOS = models.CharField(max_length=255) deviceOS = models.CharField(max_length=255)
deviceIP = models.GenericIPAddressField() deviceIP = models.GenericIPAddressField()
@@ -35,14 +35,30 @@ class DeviceA24(models.Model):
sistema = models.ForeignKey(Sistema, on_delete=models.CASCADE) sistema = models.ForeignKey(Sistema, on_delete=models.CASCADE)
MAC = models.CharField(max_length=30, blank=True, null=True) MAC = models.CharField(max_length=30, blank=True, null=True)
dataBase = models.CharField(max_length=40, blank=True,null=True) dataBase = models.CharField(max_length=40, blank=True,null=True)
timestamp = models.DateTimeField(auto_now_add=True)
class Meta: class Meta:
ordering = ('username',) ordering = ('username',)
abstract =True
def generate_username(self): def generate_username(self):
username_ = f"A24_{self.clienteA24}_{self.deviceName}_{self.MAC}" """"""
username_ = f"SCAII_{self.clienteA24}_{self.deviceName}_{self.MAC}"
username_ = re.sub(r'\W+', '', username_) username_ = re.sub(r'\W+', '', username_)
if User.objects.filter(username=username_).exists(): if User.objects.filter(username=username_).exists():
pass return User.objects.get(username=username_)
return User.objects.create_user(username=username_)
def save(self,*args, **kwargs):
"""Overrides save method"""
if not self.pk:
obj = self.generate_username()
self.username=obj
token, created = Token.objects.get_or_create(user=obj)
self.token = token
super().save(*args, **kwargs)
def __str__(self):
return f'{self.username}'

View File

@@ -10,7 +10,7 @@ from django.contrib import messages
from django.contrib.auth.mixins import LoginRequiredMixin, UserPassesTestMixin from django.contrib.auth.mixins import LoginRequiredMixin, UserPassesTestMixin
from .forms import ClienteForm_IMMEX from .forms import ClienteForm_IMMEX
from .serializers import ClientesA24Serailizer from .serializers import ClientesA24Serailizer,SerialiazerA24
from rest_framework.views import APIView from rest_framework.views import APIView
from rest_framework.response import Response from rest_framework.response import Response

View File

@@ -1,10 +1,9 @@
from django.contrib import admin from django.contrib import admin
from .models import Sistema, sistemas_por_cliente, Device,DeviceHistory, BitacoraErrores from .models import Sistema, sistemas_por_cliente, Device,DeviceHistory, BitacoraErrores
# Register your models here.
class BitacoraErroresAdmin(admin.ModelAdmin): class BitacoraErroresAdmin(admin.ModelAdmin):
list_display = ['level', 'message'] list_display = ['level', 'message','timestamp']
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