From 1b07b3bce6670a8af9106979893b55b0806cfaee Mon Sep 17 00:00:00 2001 From: fjrodriguez Date: Thu, 4 May 2023 15:17:04 -0600 Subject: [PATCH] Add Save Model in DeviceA24 --- IMMEX/admin.py | 3 ++- IMMEX/migrations/0001_initial.py | 42 -------------------------------- IMMEX/migrations/__init__.py | 0 IMMEX/models.py | 24 +++++++++++++++--- IMMEX/views.py | 2 +- Sistemas/admin.py | 9 +++---- 6 files changed, 27 insertions(+), 53 deletions(-) delete mode 100644 IMMEX/migrations/0001_initial.py delete mode 100644 IMMEX/migrations/__init__.py diff --git a/IMMEX/admin.py b/IMMEX/admin.py index 79f3127..a7e7303 100644 --- a/IMMEX/admin.py +++ b/IMMEX/admin.py @@ -1,5 +1,6 @@ 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(ClientesA24) +admin.site.register(DeviceA24) diff --git a/IMMEX/migrations/0001_initial.py b/IMMEX/migrations/0001_initial.py deleted file mode 100644 index 5263cef..0000000 --- a/IMMEX/migrations/0001_initial.py +++ /dev/null @@ -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')}, - }, - ), - ] diff --git a/IMMEX/migrations/__init__.py b/IMMEX/migrations/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/IMMEX/models.py b/IMMEX/models.py index c210576..7e857da 100644 --- a/IMMEX/models.py +++ b/IMMEX/models.py @@ -26,7 +26,7 @@ class Sistemas_por_cliente_A24(models.Model): unique_together = ('id_sistema', 'cliente') 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) deviceOS = models.CharField(max_length=255) deviceIP = models.GenericIPAddressField() @@ -35,14 +35,30 @@ class DeviceA24(models.Model): sistema = models.ForeignKey(Sistema, on_delete=models.CASCADE) MAC = models.CharField(max_length=30, blank=True, null=True) dataBase = models.CharField(max_length=40, blank=True,null=True) + timestamp = models.DateTimeField(auto_now_add=True) class Meta: ordering = ('username',) - abstract =True + 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_) if User.objects.filter(username=username_).exists(): - pass \ No newline at end of file + 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}' \ No newline at end of file diff --git a/IMMEX/views.py b/IMMEX/views.py index 14664c2..2e8aa92 100644 --- a/IMMEX/views.py +++ b/IMMEX/views.py @@ -10,7 +10,7 @@ from django.contrib import messages from django.contrib.auth.mixins import LoginRequiredMixin, UserPassesTestMixin from .forms import ClienteForm_IMMEX -from .serializers import ClientesA24Serailizer +from .serializers import ClientesA24Serailizer,SerialiazerA24 from rest_framework.views import APIView from rest_framework.response import Response diff --git a/Sistemas/admin.py b/Sistemas/admin.py index bc65df9..c6c3a34 100644 --- a/Sistemas/admin.py +++ b/Sistemas/admin.py @@ -1,19 +1,18 @@ from django.contrib import admin from .models import Sistema, sistemas_por_cliente, Device,DeviceHistory, BitacoraErrores -# Register your models here. - class BitacoraErroresAdmin(admin.ModelAdmin): - list_display = ['level', 'message'] + list_display = ['level', 'message','timestamp'] + class Sistema_Admin(admin.ModelAdmin): - def NSistema(self,obj): + def NSistema(self,obj): return obj.nombre_sistema list_display = ['NSistema'] class SPC(admin.ModelAdmin): '''Sistemas Por Cliente''' def Cliente(self,obj): - return obj + return obj list_display = ['id_sistema','Cliente','num_licencias'] class DeviceHistoryAdmin(admin.ModelAdmin):