models.py 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. from django.db import models
  2. from django.utils import timezone
  3. import datetime
  4. from azienda.models import *
  5. #from documento.models import *
  6. class Utente(models.Model):
  7. codicefiscale = models.CharField(max_length=16,null=False)
  8. nome = models.CharField(max_length=128,null=False,default="")
  9. datanascita = models.DateField(null=True)
  10. luogonascita = models.CharField(max_length=256,null=False,default="")
  11. inserimento = models.DateField(null=False,default=timezone.now)
  12. mail = models.CharField(max_length=128,null=False,default="")
  13. azienda = models.ForeignKey(Azienda,on_delete=models.PROTECT,null=True)
  14. sede = models.ForeignKey(Sede,on_delete=models.PROTECT,null=True)
  15. primologin = models.BooleanField(null=False,default=1)
  16. daticompleti=models.BooleanField(null=False,default=0)
  17. pin = models.CharField(max_length=64,null=False,default="")
  18. encrypt=models.CharField(max_length=64,null=False,default="")
  19. uuid = models.CharField(max_length=32,null=False,default="")
  20. @property
  21. def documenti(self):
  22. return len(self.documento_set.all())
  23. class Meta:
  24. constraints = [ models.UniqueConstraint(fields=['nome','codicefiscale'], name="unique-utente") ]
  25. indexes = [ models.Index(fields=['codicefiscale','nome']) ]
  26. class Amministratore(models.Model):
  27. login = models.CharField(max_length=64,null=False)
  28. nome = models.CharField(max_length=128,null=False,unique=True)
  29. mail = models.CharField(max_length=128,null=False,default="")
  30. pin = models.CharField(max_length=64,null=False)
  31. sola_lettura = models.BooleanField(default=False)
  32. crea_azienda = models.BooleanField(default=True)
  33. crea_sede = models.BooleanField(default=True)
  34. crea_utente = models.BooleanField(default=True)
  35. crea_documento = models.BooleanField(default=True)