forms.py 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175
  1. from django import forms
  2. from .models import *
  3. from configurazione.views import getConfigurazione
  4. class FormDomainEdit(forms.Form):
  5. def __init__(self,*args,**kwargs):
  6. forms.Form.__init__(self,*args,**kwargs)
  7. # lista degli ftp server disponibili
  8. def ftpserver(self):
  9. _ftpserver = []
  10. f = FTPGroup.objects.all().filter(enabled=True)
  11. for i in f:
  12. _ftpserver.append((i.id,i.server))
  13. return _ftpserver
  14. # lista dei mail server disponibili
  15. def listmailserver(self):
  16. _mailserver = []
  17. m = MailServer.objects.all().filter(enabled=True)
  18. for i in m:
  19. _mailserver.append((i.id,i.nome))
  20. return _mailserver
  21. def listregistrar(self):
  22. _listregistrar = []
  23. r = Registrar.objects.all()
  24. for i in r:
  25. _listregistrar.append((i.id,i.nome))
  26. return _listregistrar
  27. def listtarget(self):
  28. _listtarget = []
  29. t = Target.objects.all().order_by('id')
  30. for i in t:
  31. _listtarget.append((i.id,i.nome))
  32. return _listtarget
  33. def listcausali(self):
  34. _listcausali = []
  35. c = Causale.objects.all().filter(enabled=True)
  36. for i in c:
  37. _listcausali.append((i.id,i.nome))
  38. return _listcausali
  39. def update(self):
  40. self.fields['dominio'] = forms.CharField(required=True)
  41. self.fields['public_email'] = forms.CharField(required=False,initial=getConfigurazione('default-public-email'))
  42. #necessario per il server di posta per capire dove andre a infilare la posta
  43. self.fields['home'] = forms.CharField(required=False)
  44. self.fields['date_start_contract'] = forms.DateField(required=True)
  45. #,widget=forms.DateInput(format=['%m%d%Y','%m/%d%y']))
  46. self.fields['date_expire_contract'] = forms.DateField(required=True)
  47. #,widget=forms.DateInput(format=['%m%d%Y','%m/%d%y']))
  48. self.fields['date_expire_registrar'] = forms.DateField(required=True)
  49. #,widget=forms.DateInput(format=['%m%d%Y','%m/%d%y']))
  50. self.fields['contatti'] = forms.CharField(required=False)
  51. self.fields['proprietario'] = forms.CharField(required=False)
  52. self.fields['note'] = forms.CharField(required=False)
  53. # self.fields['ftp_server'] = forms.ChoiceField(required=False,choices=self.ftpserver())
  54. self.fields['enabled'] = forms.BooleanField(required=False)
  55. self.fields['tobedeleted'] = forms.BooleanField(required=False,initial=0)
  56. self.fields['mail'] = forms.BooleanField(required=False)
  57. self.fields['pop3'] = forms.BooleanField(required=False)
  58. self.fields['imap'] = forms.BooleanField(required=False)
  59. self.fields['smtp'] = forms.BooleanField(required=False)
  60. self.fields['smtp_relay'] = forms.BooleanField(required=False)
  61. self.fields['sms'] = forms.BooleanField(required=False)
  62. self.fields['webmail'] = forms.BooleanField(required=False)
  63. self.fields['nextcloud'] = forms.BooleanField(required=False)
  64. self.fields['nextcloud_pwd'] = forms.BooleanField(required=False)
  65. self.fields['sendafile'] = forms.BooleanField(required=False)
  66. self.fields['lmtp'] = forms.BooleanField(required=False)
  67. self.fields['sieve'] = forms.BooleanField(required=False)
  68. self.fields['antivirus'] = forms.BooleanField(required=False)
  69. self.fields['spf'] = forms.BooleanField(required=False)
  70. self.fields['blacklist'] = forms.BooleanField(required=False)
  71. self.fields['ftp'] = forms.BooleanField(required=False)
  72. self.fields['sql'] = forms.BooleanField(required=False)
  73. self.fields['http'] = forms.BooleanField(required=False)
  74. self.fields['proxy'] = forms.BooleanField(required=False)
  75. self.fields['nota'] = forms.CharField(required=False)
  76. self.fields['mail_server'] = forms.ChoiceField(required=True,initial=0,choices=self.listmailserver())
  77. self.fields['lmtp_server'] = forms.ChoiceField(required=True,initial=0,choices=self.listmailserver())
  78. self.fields['mail_proxy'] = forms.ChoiceField(required=True,initial=0,choices=self.listmailserver())
  79. self.fields['sql_remote'] = forms.ChoiceField(required=True,initial=0,choices=self.listmailserver())
  80. self.fields['account_used'] = forms.IntegerField(required=False)
  81. self.fields['alias_used'] = forms.IntegerField(required=False)
  82. self.fields['list_used'] = forms.IntegerField(required=False)
  83. self.fields['mail_server'] = forms.ChoiceField(required=True,choices=self.listmailserver())
  84. self.fields['target'] = forms.ChoiceField(required=True,choices=self.listtarget())
  85. self.fields['registrar'] = forms.ChoiceField(required=True,choices=self.listregistrar())
  86. self.fields['last_causale'] = forms.ChoiceField(required=False,choices=self.listcausali())
  87. self.fields['max_account'] = forms.IntegerField(required=True)
  88. self.fields['max_alias'] = forms.IntegerField(required=True)
  89. self.fields['max_list'] = forms.IntegerField(required=True)
  90. self.fields['edit'] = forms.BooleanField(required=False)
  91. self.fields['rinnovo_automatico'] = forms.BooleanField(required=False)
  92. class FormDomainCausale(forms.Form):
  93. def __init__(self,*args,**kwargs):
  94. forms.Form.__init__(self,*args,**kwargs)
  95. self.fields['causale'] = forms.ChoiceField(required=False,choices=self.listcausali())
  96. def listcausali(self):
  97. _listcausali = []
  98. c = Causale.objects.all().filter(enabled=True)
  99. for i in c:
  100. _listcausali.append((i.id,i.nome))
  101. return _listcausali
  102. class FormServiziNota(forms.Form):
  103. def __init__(self,*args,**kwargs):
  104. forms.Form.__init__(self,*args,**kwargs)
  105. self.fields['nota'] = forms.CharField(required=False)
  106. '''
  107. renew_authorized = models.BooleanField(db_column='renew_authorized')
  108. payment_status = models.BooleanField(db_column='payment_status')
  109. payment_value = models.DecimalField(db_column='payment_value',max_digits=8,decimal_places=2)
  110. payment_exclusion = models.BooleanField(db_column='payment_exclusion')
  111. '''
  112. '''
  113. campo 'classe':
  114. per evitare che ogni volta io vada a togliere,modificare e aggiungere un campo per integrare
  115. una nuova funzione, potrei usare il campo classe per definire cosa voglio dal sistema: per esempio,
  116. la classe definita come 'MAIL' ufficializza il discorso mail e abilita il sotto sistema di competenza.
  117. la classe definita come 'ANTIV' ufficializza l'abilitazione del servizio antivirus per il dominio
  118. '''
  119. class DomainServiceForm(forms.Form):
  120. def __init__(self,*args,**kwargs):
  121. forms.Form.__init__(self,*args,**kwargs)
  122. # id = models.IntegerField(db_column='id',primary_key=True)
  123. self.fields['nome'] = forms.CharField(required=True)
  124. self.fields['classe'] = forms.CharField(required=True)
  125. self.fields['enabled'] = forms.BooleanField(required=False)
  126. self.fields['home'] = forms.CharField(required=False)
  127. '''
  128. self.fields['domain'] = forms.BooleanField(required=False)
  129. self.fields['mail'] = forms.BooleanField(required=False)
  130. self.fields['pop3'] = forms.BooleanField(required=False)
  131. self.fields['imap'] = forms.BooleanField(required=False)
  132. imap = models.BooleanField(db_column='imap') # imap associato al servizio mail
  133. smtp = models.BooleanField(db_column='smtp')
  134. smtp_relay = models.BooleanField(db_column='smtp_relay') # consente di far uscire una mail dal sistema
  135. antivirus = models.BooleanField(db_column='antivirus')
  136. spf = models.BooleanField(db_column='spf')
  137. webmail = models.BooleanField(db_column='webmail')
  138. nextcloud = models.BooleanField(db_column='nextcloud')
  139. ftp = models.BooleanField(db_column='ftp')
  140. http = models.BooleanField(db_column='http')
  141. proxy = models.BooleanField(db_column='proxy')
  142. pec_std = models.BooleanField(db_column='pec_std')
  143. pec_med = models.BooleanField(db_column='pec_med')
  144. pec_max = models.BooleanField(db_column='pec_max')
  145. '''