add database to Device model

This commit is contained in:
fjrodriguez
2023-04-10 08:10:02 -06:00
parent d928f0eeb2
commit f24b33b0a2
5 changed files with 35 additions and 13 deletions

View File

@@ -78,9 +78,10 @@ class Device(models.Model):
username = models.OneToOneField(User, on_delete=models.CASCADE)
sistema = models.ForeignKey(Sistema,on_delete=models.CASCADE, blank=True, null=True)
macAddress = models.CharField(max_length=30, unique=True, blank=True,null=True)
database = models.CharField(max_length=30, unique=True, blank=True,null=True)
#objects = DeviceManager()
def generate_unique_username(self,client, device_name,ip_address, macAddress):
username = f"Device_{client.RFC}_{device_name}_{ip_address}_{macAddress}"
def generate_unique_username(self,client, device_name,ip_address, macAddress, database):
username = f"Device_{client.RFC}_{device_name}_{ip_address}_{macAddress}_{database}"
username_ = re.sub(r'\W+', '', username)
if User.objects.filter(username=username_).exists():
@@ -92,12 +93,12 @@ class Device(models.Model):
def save(self, *args, **kwargs):
if not self.pk:
obj = self.generate_unique_username(self.client,self.device_name, self.ip_address, self.macAddress)
obj = self.generate_unique_username(self.client,self.device_name, self.ip_address, self.macAddress, self.database)
self.username= obj
token= Token.objects.create(user=obj)
self.token=token
super().save(*args, **kwargs)
DeviceHistory.objects.create(device=self,ip_address=self.ip_address)
DeviceHistory.objects.create(device=self, ip_address=self.ip_address)
def __str__(self):
return f'{self.username}'