Added Cambios Permisos y Modulos
This commit is contained in:
@@ -2,7 +2,7 @@ from django.db import models
|
||||
from django.contrib.auth.models import User
|
||||
from Sistemas.models import Sistema
|
||||
from rest_framework.authtoken.models import Token
|
||||
|
||||
from django.utils import timezone
|
||||
import re
|
||||
|
||||
class ClientesA24(models.Model):
|
||||
@@ -21,7 +21,7 @@ class Sistemas_por_cliente_A24(models.Model):
|
||||
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}'
|
||||
return f'{self.cliente.Nombre}, {self.id_sistema.nombre_sistema} '
|
||||
class Meta:
|
||||
ordering= ('-cliente','id_sistema')
|
||||
unique_together = ('id_sistema', 'cliente')
|
||||
@@ -46,7 +46,7 @@ class DeviceA24(models.Model):
|
||||
|
||||
def generate_username(self,client, device_name, mac_address):
|
||||
""""""
|
||||
username_ = f"SCAII_{client.RFC}_{device_name}_{mac_address}"
|
||||
username_ = f"IMMEX_{client.RFC}_{device_name}_{mac_address}"
|
||||
username_ = re.sub(r'\W+', '', username_)
|
||||
|
||||
if User.objects.filter(username=username_).exists():
|
||||
@@ -64,4 +64,53 @@ class DeviceA24(models.Model):
|
||||
super().save(*args, **kwargs)
|
||||
|
||||
def __str__(self):
|
||||
return f'{self.username}'
|
||||
return f'{self.username}'
|
||||
|
||||
|
||||
class ActiveTokenSession(models.Model):
|
||||
token = models.ForeignKey(Token, on_delete=models.CASCADE, db_index=True)
|
||||
start_time = models.DateTimeField(default=timezone.now)
|
||||
last_time = models.DateTimeField(default=timezone.now)
|
||||
has_expired = models.BooleanField(default=False)
|
||||
|
||||
def is_expired(self, expiration_minutes):
|
||||
expiration_time = self.start_time + timezone.timedelta(minutes=expiration_minutes)
|
||||
return expiration_time < timezone.now()
|
||||
|
||||
|
||||
##--------------------------PERMISOS
|
||||
class Permisos_A24(models.Model):
|
||||
nombre= models.CharField(max_length=100)
|
||||
def __str__(self) -> str:
|
||||
return f'{self.nombre}'
|
||||
|
||||
class Modulo(models.Model):
|
||||
nombre = models.CharField(max_length=100)
|
||||
#sistema_cliente = models.ForeignKey(Sistemas_por_cliente_A24, on_delete=models.CASCADE)
|
||||
permisos = models.ManyToManyField(Permisos_A24)
|
||||
def __str__(self) -> str:
|
||||
return f'{self.nombre}'
|
||||
|
||||
|
||||
class Suspension_Modulos_Permisos_Cliente(models.Model):
|
||||
sistema_cliente = models.ForeignKey(Sistemas_por_cliente_A24, on_delete=models.CASCADE)
|
||||
def __str__(self) -> str:
|
||||
return f'{self.sistema_cliente} {self.sistema_cliente.id_sistema.nombre_sistema}'
|
||||
class SuspensionModulo(models.Model):
|
||||
supension_modPerm_id = models.ForeignKey(Suspension_Modulos_Permisos_Cliente, on_delete=models.CASCADE)
|
||||
modulo = models.ForeignKey(Modulo, on_delete=models.CASCADE)
|
||||
suspendido = models.BooleanField(default=False)
|
||||
def __str__(self) -> str:
|
||||
return f'{self.modulo}'
|
||||
|
||||
|
||||
class SuspensionPermiso(models.Model):
|
||||
suspension_modulo = models.ForeignKey(SuspensionModulo, on_delete=models.CASCADE)
|
||||
permiso = models.ForeignKey(Permisos_A24, on_delete=models.CASCADE)
|
||||
suspendido = models.BooleanField(default=False)
|
||||
|
||||
def __str__(self) -> str:
|
||||
return f'{self.permiso}'
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user