Files
AS_timbres/IMMEX/models.py
2023-05-04 08:37:48 -06:00

48 lines
1.9 KiB
Python

from django.db import models
from django.contrib.auth.models import User
from Sistemas.models import Sistema
from rest_framework.authtoken.models import Token
import re
class ClientesA24(models.Model):
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)
class Meta:
ordering = ('-Activo','RFC',)
def __str__(self):
return self.Nombre
class Sistemas_por_cliente_A24(models.Model):
id_sistema= models.ForeignKey(Sistema, related_name='sistema_spc_IMMEX', on_delete=models.CASCADE)
cliente = models.ForeignKey(ClientesA24, related_name='cliente_spc_IMMEX', on_delete=models.CASCADE)
num_licencias= models.IntegerField(default=1)
def __str__(self):
return f'{self.cliente.Nombre}'
class Meta:
ordering= ('-cliente','id_sistema')
unique_together = ('id_sistema', 'cliente')
class DeviceA24(models.Model):
clienteA24 = models.ForeignKey(ClientesA24, related_name='cliA24',on_delete=models.CASCADE)
deviceName = models.CharField(max_length=255)
deviceOS = models.CharField(max_length=255)
deviceIP = models.GenericIPAddressField()
token = models.ForeignKey(Token, on_delete=models.CASCADE, blank=True,null=True)
username = models.ForeignKey(User, on_delete=models.CASCADE)
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)
class Meta:
ordering = ('username',)
abstract =True
def generate_username(self):
username_ = f"A24_{self.clienteA24}_{self.deviceName}_{self.MAC}"
username_ = re.sub(r'\W+', '', username_)
if User.objects.filter(username=username_).exists():
pass