models.py 3.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  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. mail_quota = models.IntegerField(db_column='mail_quota',default=0)
  31. date_mail_quota = models.DateField(db_column='date_mail_quota',blank=True)
  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. # rimosso 09.09.25. sostituito da mail_date_quota
  39. last_mail_checked = models.DateField(db_column='last_mail_checked')
  40. #proxy_host viene usato per forware le sessioni imap.
  41. #dovra' essere rimosso a favore di lmtp_server e mail_server
  42. proxy_host = models.CharField(db_column='proxy_host',blank=True,max_length=128)
  43. mail_server = models.ForeignKey('mail.MailServer',db_column='mail_server',on_delete=models.PROTECT)
  44. lmtp_server = models.ForeignKey('mail.LmtpServer',db_column='lmtp_server',on_delete=models.PROTECT)
  45. mail_proxy = models.ForeignKey('mail.MailProxy',db_column='mail_proxy',on_delete=models.PROTECT)
  46. sql_remote = models.ForeignKey('mail.SqlRemote',db_column='sql_remote',on_delete=models.PROTECT)
  47. warning_mail_quota = models.IntegerField(db_column='warning_mail_quota',default=0)
  48. limit_mail_quota = models.IntegerField(db_column='limit_mail_quota',default=0)
  49. mail_di_recupero = models.TextField(db_column='mail_di_recupero',max_length=128)
  50. chiave_temporanea = models.CharField(db_column='chiave_temporanea',max_length=128)
  51. accesso = models.DateTimeField(db_column='accesso')
  52. spf = models.BooleanField(db_column='spf')
  53. blacklist = models.BooleanField(db_column='blacklist')
  54. antivirus = models.BooleanField(db_column='antivirus')
  55. sieve = models.BooleanField(db_column='sieve')
  56. forward = models.CharField(db_column='forward',max_length=128,default="",null=True)
  57. '''
  58. mail_di_recupero: consente il recupero delle password smarrite dal pannello di login.
  59. viene inviata una mail a questo account.
  60. nel caso la mail non fosse stata inserita, viene visualizzato un messaggio di avviso.
  61. '''
  62. class Meta:
  63. ordering = ['id']
  64. db_table = 'mail_user'
  65. managed = False