models.py 3.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. from __future__ import unicode_literals
  2. from django.db import models
  3. from configurazione.models import *
  4. from sicurezza.models import *
  5. from domini.models import *
  6. from template.models import *
  7. from mail.models import *
  8. class User(models.Model):
  9. id = models.IntegerField(db_column='id',primary_key=True)
  10. mail = models.CharField(db_column='mail',max_length=128)
  11. nome = models.CharField(db_column='name',max_length=128)
  12. domain = models.ForeignKey('domini.Domini',db_column='domain',on_delete=models.CASCADE)
  13. clear = models.CharField(db_column='clear',max_length=128)
  14. crypt = models.CharField(db_column='crypt',max_length=128)
  15. securitylevel = models.ForeignKey('sicurezza.Securitylevel',db_column='level',on_delete=models.PROTECT)
  16. password_change_enabled = models.BooleanField(db_column='password_change_enabled',default=1)
  17. last_password_update = models.DateField(db_column='last_password_update')
  18. enabled = models.BooleanField(db_column='enabled')
  19. pop3 = models.BooleanField(db_column='pop3')
  20. imap = models.BooleanField(db_column='imap')
  21. smtp = models.BooleanField(db_column='smtp')
  22. smtp_relay = models.BooleanField(db_column='smtp_relay')
  23. webmail = models.BooleanField(db_column='webmail')
  24. sms = models.BooleanField(db_column='sms')
  25. lmtp = models.BooleanField(db_column='lmtp')
  26. nextcloud = models.BooleanField(db_column='nextcloud',default=False)
  27. nextcloud_pwd = models.BooleanField(db_column='nextcloud_pwd',default=True)
  28. sendafile = models.BooleanField(db_column='sendafile',default=False)
  29. tobedeleted = models.BooleanField(db_column='tobedeleted',default=False)
  30. #quota = models.IntegerField(db_column='mail_quota',default=0)
  31. mail_quota = models.IntegerField(db_column='mail_quota',default=0)
  32. nextcloud_quota = models.IntegerField(db_column='nextcloud_quota',default=0)
  33. date_nextcloud_quota = models.DateField(db_column='date_nextcloud_quota',blank=True)
  34. account_date_creation = models.DateField(db_column='account_date_creation',blank=True)
  35. account_date_disabled = models.DateField(db_column='account_date_disabled',blank=True)
  36. sms_communication = models.CharField(db_column='sms_communication',blank=True,max_length=128)
  37. nota = models.TextField(db_column='nota',blank=True)
  38. last_mail_checked = models.DateField(db_column='last_mail_checked')
  39. #proxy_host viene usato per forware le sessioni imap.
  40. #dovra' essere rimosso a favore di lmtp_server e mail_server
  41. proxy_host = models.CharField(db_column='proxy_host',blank=True,max_length=128)
  42. mail_server = models.ForeignKey('mail.MailServer',db_column='mail_server',on_delete=models.PROTECT)
  43. lmtp_server = models.ForeignKey('mail.LmtpServer',db_column='lmtp_server',on_delete=models.PROTECT)
  44. mail_proxy = models.ForeignKey('mail.MailProxy',db_column='mail_proxy',on_delete=models.PROTECT)
  45. sql_remote = models.ForeignKey('mail.SqlRemote',db_column='sql_remote',on_delete=models.PROTECT)
  46. warning_mail_quota = models.IntegerField(db_column='warning_mail_quota',default=0)
  47. limit_mail_quota = models.IntegerField(db_column='limit_mail_quota',default=0)
  48. mail_di_recupero = models.TextField(db_column='mail_di_recupero',max_length=128)
  49. chiave_temporanea = models.CharField(db_column='chiave_temporanea',max_length=128)
  50. accesso = models.DateTimeField(db_column='accesso')
  51. spf = models.BooleanField(db_column='spf')
  52. blacklist = models.BooleanField(db_column='blacklist')
  53. antivirus = models.BooleanField(db_column='antivirus')
  54. sieve = models.BooleanField(db_column='sieve')
  55. forward = models.CharField(db_column='forward',max_length=128,default="",null=True)
  56. '''
  57. mail_di_recupero: consente il recupero delle password smarrite dal pannello di login.
  58. viene inviata una mail a questo account.
  59. nel caso la mail non fosse stata inserita, viene visualizzato un messaggio di avviso.
  60. '''
  61. class Meta:
  62. ordering = ['id']
  63. db_table = 'mail_user'
  64. managed = False