| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000 |
- from django.shortcuts import render
- from django.http import HttpResponseRedirect,HttpResponseNotFound,JsonResponse
- from django.urls import reverse
- from django import template
- import time
- from datetime import datetime,timedelta
- from uuid import uuid4,UUID
- import re
- # Create your views here.
- from .models import *
- from .forms import *
- from sicurezza.views import *
- from comunicazioni.views import *
- def Aggiorna_Dominio_Da_Causale(d,c,sm=None):
- dominio = d
- print('dominio nome',dominio.nome)
- causale = c
- print('causale nome',causale.nome)
- if causale.date_expire_contract:
- print("Stato contratto prima:",dominio.id,dominio.date_expire_contract)
- dominio.date_expire_contract = dominio.date_expire_contract + timedelta(int(causale.valore))
- print("Stato contratto dopo:",dominio.id,dominio.date_expire_contract)
- if causale.date_expire_registrar:
- print("Stato registrar prima:",dominio.id,dominio.date_expire_registrar)
- dominio.date_expire_registrar = dominio.date_expire_registrar+timedelta(int(causale.valore))
- print("Stato registrar dopo:",dominio.id,dominio.date_expire_registrar)
-
- if causale.renew_code:
- dominio.renew_code = uuid4()
- print('dominio.renew_code',dominio.renew_code)
- if causale.domain_closed:
- dominio.enabled = False
- if causale.domain_suspended:
- dominio.enabled = False
- if causale.domain_enabled:
- dominio.enabled = True
- dominio.tobedeleted = False
- if causale.domain_tobedeleted:
- print('richiesta cancellazione')
- dominio.enabled = False
- dominio.tobedeled = True
- if causale.domain_expired:
- dominio.enabled = False
- dominio.last_causale = causale
- dominio.save()
- if not sm:
- return
- #imposta i destinatari
- listadestinatari=[]
- PresenteContattoDestinatari=False
- print(dominio.contatti)
- if causale.send_email_user and len(dominio.contatti)>0:
- tmpdestinatari = re.split(',| ',dominio.contatti)
- for d in tmpdestinatari:
- # dovremmo validare ogni elemento
- listadestinatari.append(d)
- print("email to: ",d)
- if len(listadestinatari)>0:
- PresenteContattoDestinatari=True
- if causale.send_email_admin and len(causale.to_admin):
- tmplista = re.split(',| ',causale.to_admin)
- for i in tmplista:
- listadestinatari.append(i)
- if causale.send_email_account:
- if len(causale.to_account):
- tmplista = re.split(',| ',causale.to_account)
- for i in tmplista:
- listadestinatari.append(i)
- else:
- accountdft = getConfigurazione('mail:accounting')
- if accountdft and len(accountdft):
- accountdft = re.split(',| ',accountdft)
- for i in accountdft:
- listadestinatari.append(i)
- templatetrovato=False
- try:
- template = causale.template
- templatetrovato=True
- except Template.DoesNotExist as dne:
- print("Template inesistente")
- print(dne)
- if templatetrovato:
- print('template valido')
- data = {}
- data['dominio'] = dominio.__dict__
- print("dominio.renew_code",dominio.__dict__['renew_code'])
- if PresenteContattoDestinatari: data['PresenteContattoDestinatari']=True
- print("spedisco mail a",listadestinatari)
- sm.add_listadestinatari(listadestinatari)
- sm.set_oggetto(template.oggetto)
- sm.set_soggetto(template.soggetto)
- sm.set_data(data)
- sm.send()
- sm = None
- else:
- print("Template Non valido.... non invio comunicazioni")
- return
- def AggiornaStoriaCausali(dominio=None,utente=None,causale=None,nota=None):
- print("Salvo dati Storia")
- storia = Storia()
- storia.dominio_id = dominio.id
- storia.utente_id = utente.id
- storia.causale_id = causale.id
- print(int(time.time()))
- storia.data = int(time.time())
- storia.nota = nota
- storia.save()
- def UltimaStoriaCausali(dominio=None,count=1):
- if count == 1:
- print("Ritorna l'utlimo record della causale per il dominio:",dominio.id)
- tmp = Storia.objects.filter(dominio=dominio).latest('data')
- return tmp
- else:
- print("ritorna gli ultimi reecord memorizzati per il dominio:",count,": ",dominio.id)
- tmp = Storia.objects.filter(dominio=dominio)[:5]
- print(len(tmp))
- return tmp
- def DomainList(request):
- session = getSessionParms(request)
- userauth = session['_userauth_']
- user2edit = session['_user2edit_']
- domain2edit = session['_domain2edit_']
- domain_order = session['_domain_order']
- print('domain_order',domain_order)
- request.session['_from_']="Utenti:UserList"
- #print(next)
- if not user2edit:
- user2edit = userauth
- try:
- utenteautorizzato = User.objects.get(pk=userauth)
- except User.DoesNotExist as dne:
- return HttpResponseRedirect(reverse('Login:login',args={}))
- if not domain2edit:
- domain2edit = utenteautorizzato.domain.id
- value={}
- value['utenteautorizzato'] = utenteautorizzato
- value['user'] = None
- value['navbar'] = True
- print("livello autorizzazione",utenteautorizzato.securitylevel_id)
- securitylevel = getSecurityLevel(utenteautorizzato.securitylevel_id)
- securityrow = getSecurityRow(utenteautorizzato.securitylevel_id)
- value['securityrow'] = securityrow
- value['securityrowLen'] = len(securityrow)
- Nascondi_Scaduti = getConfigurazione("NascondiScaduti")
- print("Nascondi_Scaduti",Nascondi_Scaduti)
- dominiolist = Domini.objects.all().order_by('nome')
- if Nascondi_Scaduti== "1":
- #dominiolist = dominiolist.filter(enabled=1)
- value['Nascondi_Scaduti'] = "Visualizza"
- else:
- value['Nascondi_Scaduti'] = "Nascondi"
- value['domainlist'] = dominiolist
- value['causali'] = Causale.objects.all().filter(enabled=True).order_by('nome')
- if request.method=="POST":
- print('request ok',request.POST)
- #memorizza la posizione.... cosi' l'arnese sa dove tornare
- request.session['_position_'] = 'DomainList'
- if 'Nuovo Dominio' in request.POST:
- request.session['_domain2edit_'] = -1
- return HttpResponseRedirect(reverse('Domini:DomainEdit',args={}))
- if 'Ritorno' in request.POST:
- return HttpResponseRedirect(reverse('Login:welcome',args={}))
- if 'Nascondi_Scaduti' in request.POST:
- print("Il tasto Nascondi_Scaduti èstato preumto")
- if Nascondi_Scaduti == "0":
- value['Nascondi_Scaduti'] = "Nascondi"
- setConfigurazione("NascondiScaduti","1")
- else:
- value['Nascondi_Scaduti'] = "Visualizza"
- setConfigurazione("NascondiScaduti","0")
- if 'Ordine_Alfabetico' in request.POST:
- request.session['_domain_order']='oa'
- value['domainlist'] = Domini.objects.all().order_by('nome')
- if Nascondi_Scaduti == "1" : value['domainlist'] = value['domainlist'].filter(enabled=1)
- return render(request,"gestione.domain.list.html",value)
- if 'Ordine_Scadenza_Contratto' in request.POST:
- request.session['_domain_order']='oc'
- value['domainlist'] = Domini.objects.all().order_by('date_expire_contract')
- if Nascondi_Scaduti == "1": value['domainlist'] = value['domainlist'].filter(enabled=1)
- return render(request,"gestione.domain.list.html",value)
- if 'Ordine_Scadenza_Registrar' in request.POST:
- request.session['_domain_order'] = 'or'
- value['domainlist'] = Domini.objects.all().order_by('date_expire_registrar')
- if Nascondi_Scaduti == "1": value['domainlist'] = value['domainlist'].filter(enabled=1)
- return render(request,"gestione.domain.list.html",value)
- if "Servizi" in request.POST:
- print('id da editare',request.POST['Servizi'])
- request.session['_domain2edit_'] = request.POST['Servizi']
- print("request.session['_domain2edit_']",request.session['_domain2edit_'])
- return HttpResponseRedirect(reverse('Domini:DomainServizi',args={}))
- if "Editing" in request.POST:
- print("Editing")
- print('id da editare',request.POST['Editing'])
- request.session['_domain2edit_'] = request.POST['Editing']
- return HttpResponseRedirect(reverse('Domini:DomainEdit',args={}))
- if "Info" in request.POST:
- print('id da mostrare',request.POST['Info'])
- request.session['_domain2edit_'] = request.POST['Info']
- return HttpResponseRedirect(reverse('Domini:DomainShow'))
- if "disable" in request.POST:
- print('id da disattivare',request.POST['disable'])
- idpost = request.POST.get('disable')
- u = Domini.objects.get(pk=idpost)
- u.enabled=False
- u.save()
- if "enable" in request.POST:
- print('id da attivare',request.POST['enable'])
- idpost = request.POST['enable']
- u = Domini.objects.get(pk=idpost)
- u.enabled=True
- u.save()
- if "ExecSpazio" in request.POST:
- idpost = request.POST['ExecSpazio']
- print('Richiesto calcolo spazio per',idpost)
- print('url richiesto',reverse('Comunicazioni:OccupazioneControlloQuota',args=(idpost,)))
- #return HttpResponseRedirect(reverse('Domini:DomainList'))
- return HttpResponseRedirect(reverse('Comunicazioni:OccupazioneControlloQuota',args=(idpost,)))
- if "AggiornaCausale" in request.POST:
- print("Aggiornamento causale",request.POST['AggiornaCausale'])
- idpost = request.POST['AggiornaCausale']
- d = Domini.objects.get(pk=idpost)
- print('dominio richiesto',idpost)
- print('causale richiesta',request.POST['ValoreCausale'])
- c = Causale.objects.get(pk=request.POST['ValoreCausale'])
- d.last_causale = c
- Aggiorna_Dominio_Da_Causale(d,c)
- AggiornaStoriaCausali(d,utenteautorizzato,c,"")
- print(UltimaStoriaCausali(d))
- d.save()
- if domain_order == 'oa':
- value['domainlist'] = Domini.objects.all().order_by('nome')
- if Nascondi_Scaduti == "1": value['domainlist'] = Domini.objects.all().order_by('nome').filter(enabled=1)
- if domain_order == 'oc':
- value['domainlist'] = Domini.objects.all().order_by('date_expire_contract')
- if Nascondi_Scaduti == "1": value['domainlist'] = Domini.objects.all().order_by('date_expire_contract').filter(enabled=1)
- if domain_order == 'or':
- value['domainlist'] = Domini.objects.all().order_by('date_expire_registrar')
- if Nascondi_Scaduti == "1": value['domainlist'] = Domini.objects.all().order_by('date_expire_registrar').filter(enabled=1)
- return render(request,"gestione.domain.list.html",value)
- def DomainEdit(request):
- '''
- gestione delle info sul domini
- e contabilita'
- '''
- # verifica utente passato nella session
- session = getSessionParms(request)
- userauth = session['_userauth_']
- try:
- utenteautorizzato = User.objects.get(pk=userauth)
- except User.DoesNotExist as dne:
- return HttpResponseRedirect(reverse('Login:login',args={}))
- domain2edit = session['_domain2edit_']
- if not domain2edit:
- domain2edit = utenteautorizzato.domain
- # se e' a 0: associa il dominio dell'utente autorizzato
- # se e' a -1: nuovo dominio
- dominio = None
- value = {}
- # se non e' indicato un dominio, usa il dominio dell'utente.
- if not domain2edit:
- domain2edit = utenteautorizzato.domain.id
-
- # il dominio e' nuovo.
- if domain2edit == -1:
- dominio = Domini();
- # possiamo assegnare i default.
- dominio.max_account = getConfigurazione('dominio:default:maxaccount')
- dominio.max_alias = getConfigurazione('dominio:default:maxalias')
- dominio.max_list = getConfigurazione('dominio:default:maxlist')
- dominio.public_email = getConfigurazione('domini:public_email')
- dominio.target = Target.objects.get(id=getConfigurazione('dominio:default:target'))
- dominio.maildir = getConfigurazione('dominio:default:maildir')
- dominio.edit = True; #fondamentale per consentire la prima compilazione
- dominio.tobedeleted = False
- dominio.rinnovo_automatico = False
- #gestione delle date
- datadioggi = datetime.now()
- datatraunanno = datetime.now() + timedelta(days=365)
- dominio.date_start_contract = datadioggi
- dominio.date_expire_contract = datatraunanno
- dominio.date_expire_registrar = datatraunanno
- else:
- dominio = Domini.objects.get(pk=domain2edit)
- value['dominio'] = dominio
- print("domain2Edit: ",domain2edit,dominio.nome)
- value['utenteautorizzato'] = utenteautorizzato
- print("livello autorizzazione",utenteautorizzato.securitylevel_id)
- securitylevel = getSecurityLevel(utenteautorizzato.securitylevel.id)
- securityrow = getSecurityRow(securitylevel.id)
- securitylist = getSecurityList(securityrow)
- value['securityrow'] = securityrow
- value['securityrowLen'] = len(securityrow)
- value['securitylist'] = securitylist
- value['navbar']=True
- print(f'request.method: {request.method}')
- value['causali'] = Causale.objects.all().filter(enabled=True).order_by('nome')
- value['mailserver'] = MailServer.objects.all().filter(enabled=True).order_by('nome')
- value['target'] = Target.objects.all().filter(enabled=True).order_by('nome')
- value['registrar'] = Registrar.objects.all().filter(enabled=True)
- dsa = None
- try:
- dsa = DominiServiziAssegnati.objects.get(dominio=dominio.id)
- except DominiServiziAssegnati.DoesNotExist as dne:
- print(dne)
- value['dsf'] = dsa
- #value['dsf'] = dominio.dominiserviziassegnati_set.all()
- #value['list_mail_server'] = MailServer.objects.all().filter(enabled=True)
- #value['list_target'] = Target.objects.all().filter(enabled=True)
- if request.method == 'POST':
- if 'Ritorna' in request.POST:
- print('Premuto tasto Ritorna da Editing Domini')
- return HttpResponseRedirect(reverse('Domini:DomainList'))
- domainedit = FormDomainEdit(request.POST)
- domainedit.update()
- domaincausale = FormDomainCausale(request.POST)
- if domaincausale.is_valid(): #verificare che non si tratti di prima registrazione
- print("conferma causale trovata");
- print("domaincausalet.causale",domaincausale.cleaned_data.get('causale'))
- try:
- print("domain.ultima causale usata",dominio.last_causale.nome)
- except Causale.DoesNotExist as dne:
- print("causale non registrata")
- causaleindicata = domaincausale.cleaned_data.get('causale')
- causale = None
- try:
- causale = Causale.objects.get(pk=causaleindicata)
- except Causale.DoesNotExist as dne:
- print("Causale inesistente: ",causaleindicata)
- except ValueError as ve:
- print("Cazzo, valore vuote")
- print("ci:",causaleindicata)
- if causale:
- print("cc:",causale.id,causale.nome)
- else:
- print("cc: sbagliato")
- ''' a questo punto devi, in base a quanto riportato nella causale, effettuare le diverse operazioni
- '''
- Aggiorna_Dominio_Da_Causale(dominio,causale)
- AggiornaStoriaCausali(dominio,utenteautorizzato,causale,"")
- print(UltimaStoriaCausali(dominio))
- sm = ServizioMail()
- #imposta i destinatari
- listadestinatari=[]
- PresenteContattoDestinatari=False
- print(dominio.contatti)
- if causale.send_email_user and len(dominio.contatti)>0:
- tmpdestinatari = re.split(',| ',dominio.contatti)
- for d in tmpdestinatari:
- # dovremmo validare ogni elemento
- listadestinatari.append(d)
- print("email to: ",d)
- if len(listadestinatari)>0:
- PresenteContattoDestinatari=True
- if causale.send_email_admin and len(causale.to_admin):
- tmplista = re.split(',| ',causale.to_admin)
- for i in tmplista:
- listadestinatari.append(i)
- if causale.send_email_account:
- if len(causale.to_account):
- tmplista = re.split(',| ',causale.to_account)
- for i in tmplista:
- listadestinatari.append(i)
- else:
- accountdft = getConfigurazione('mail:accounting')
- if accountdft and len(accountdft):
- accountdft = re.split(',| ',accountdft)
- for i in accountdft:
- listadestinatari.append(i)
- if causale.domain_tobedeleted:
- dominio.tobedeleted = True
- dominio.last_causale = causale
- dominio.save()
- print("salvo gli aggiornamenti:")
- AggiornaStoriaCausali(dominio,utenteautorizzato,causale,"")
- print(UltimaStoriaCausali(dominio))
- templatetrovato=False
- try:
- template = causale.template
- templatetrovato=True
- except Template.DoesNotExist as dne:
- print("Template inesistente")
- print(dne)
- if templatetrovato:
- print('template valido')
- data = {}
- data['dominio'] = dominio.__dict__
- print("dominio.renew_code",dominio.__dict__['renew_code'])
- if PresenteContattoDestinatari: data['PresenteContattoDestinatari']=True
- print("spedisco mail a",listadestinatari)
- sm.add_listadestinatari(listadestinatari)
- sm.set_oggetto(template.oggetto)
- sm.set_soggetto(template.soggetto)
- sm.set_data(data)
- sm.send()
- sm = None
- else:
- print("Template Non valido.... non invio comunicazioni")
- elif domainedit.is_valid():
- print(f'domainedit.is_valid {domainedit.is_valid()}')
- dominio.nome = domainedit.cleaned_data.get('dominio')
- if not 'home' in domainedit.cleaned_data:
- dominio.home = domainedit.cleaned_data.get('home')
- if not 'public_email' in domainedit.cleaned_data:
- dominio.public_email.getConfigurazione('default-public-email')
- else:
- dominio.public_email = domainedit.cleaned_data.get('public_email')
- dominio.contatti = domainedit.cleaned_data.get('contatti')
- dominio.proprietario = domainedit.cleaned_data.get('proprietario')
- dominio.date_start_contract = domainedit.cleaned_data.get('date_start_contract')
- dominio.date_expire_contract = domainedit.cleaned_data.get('date_expire_contract')
- dominio.date_expire_registrar = domainedit.cleaned_data.get('date_expire_registrar')
- print("date:", dominio.date_start_contract,dominio.date_expire_contract,dominio.date_expire_registrar)
- dominio.nota = domainedit.cleaned_data.get('nota')
- dominio.enabled = domainedit.cleaned_data.get('enabled')
- dominio.tobedeleted = domainedit.cleaned_data.get('tobedeleted')
- dominio.mail = domainedit.cleaned_data.get('mail')
- dominio.pop3 = domainedit.cleaned_data.get('pop3')
- dominio.imap = domainedit.cleaned_data.get('imap')
- dominio.smtp = domainedit.cleaned_data.get('smtp')
- dominio.smtp_relay = domainedit.cleaned_data.get('smtp_relay')
- dominio.webmail = domainedit.cleaned_data.get('webmail')
- dominio.nextcloud = domainedit.cleaned_data.get('nextcloud')
- dominio.nextcloud_pwd = domainedit.cleaned_data.get('nextcloud_pwd')
- dominio.sms = domainedit.cleaned_data.get('sms')
- dominio.lmtp = domainedit.cleaned_data.get('lmtp')
- dominio.sieve = domainedit.cleaned_data.get('sieve')
- dominio.antivirus = domainedit.cleaned_data.get('antivirus')
- dominio.spf = domainedit.cleaned_data.get('spf')
- dominio.blacklist = domainedit.cleaned_data.get('blacklist')
- dominio.ftp = domainedit.cleaned_data.get('ftp')
- dominio.sql = domainedit.cleaned_data.get('sql')
- dominio.http = domainedit.cleaned_data.get('http')
- dominio.proxy = domainedit.cleaned_data.get('proxy')
- dominio.sendafile = domainedit.cleaned_data.get('sendafile')
- dominio.registrar_id = domainedit.cleaned_data.get('registrar')
- dominio.mail_server_id = domainedit.cleaned_data.get('mail_server')
- dominio.lmtp_server_id = domainedit.cleaned_data.get('lmtp_server')
- dominio.mail_proxy_id = domainedit.cleaned_data.get('mail_proxy')
- dominio.sql_remote_id = domainedit.cleaned_data.get('sql_remote')
- dominio.max_account = domainedit.cleaned_data.get('max_account')
- dominio.max_alias = domainedit.cleaned_data.get('max_alias')
- dominio.max_list = domainedit.cleaned_data.get('max_list')
- dominio.rinnovo_automatico = domainedit.cleaned_data.get('rinnovo_automatico')
- dominio.target_id = domainedit.cleaned_data.get('target')
- dominio.notifica_mail_domain_admin = domainedit.cleaned_data.get('notifica_mail_domain_admin')
- dominio.notifica_mail_domain_user = domainedit.cleaned_data.get('notifica_mail_domain_user')
- if not dominio.edit:
- dominio.edit = domainedit.cleaned_data.get('edit')
- else:
- dominio.edit = False
- if len(dominio.home) < 1:
- print('attenzione: aggiorno il nome dominio')
- dominio.home = dominio.nome
- dominio.save()
- session['_domain2edit_']=dominio.id
- domain2edit = dominio.id
- print("dominio 2 edit ",domain2edit)
- else:
- print("ERRORI",domainedit.errors)
- print("cleaned:",domainedit.cleaned_data.get('http_server'))
- fde = FormDomainEdit(request.POST)
- fde.update()
- value['domainedit']=fde
- t = {}
- t['dominio'] = dominio.nome
- t['public_email'] = dominio.public_email
- t['home'] = dominio.home
-
- t['date_start_contract'] = dominio.date_start_contract
- t['date_expire_contract'] = dominio.date_expire_contract
- t['date_expire_registrar'] = dominio.date_expire_registrar
-
- t['proprietario'] = dominio.proprietario
- t['contatti'] = dominio.contatti
- t['rinnovo_automatico'] = dominio.rinnovo_automatico
- t['nota'] = dominio.nota
- print("nota: ",t['nota'])
-
- #stats
- t['max_account'] = dominio.max_account
- t['max_alias'] = dominio.max_alias
- t['max_list'] = dominio.max_list
- try:
- t['account_used'] = dominio.user_set.count()
- t['alias_used'] = dominio.alias_set.count()
- t['list_used'] = dominio.liste_set.count()
- print('count: ',dominio.user_set.count(),dominio.alias_set.count(),dominio.liste_set.count())
- except ValueError as ve:
- print('errore:',ve)
- t['account_used'] = 0
- t['alias_used'] = 0
- t['list_used'] = 0
- t['enabled'] = dominio.enabled
- t['tobedeleted'] = dominio.tobedeleted
- t['mail'] = dominio.mail
- t['pop3'] = dominio.pop3
- t['imap'] = dominio.imap
- t['smtp'] = dominio.smtp
- t['smtp_relay'] = dominio.smtp_relay
- t['webmail'] = dominio.webmail
- t['nextcloud'] = dominio.nextcloud
- t['nextcloud_pwd'] = dominio.nextcloud_pwd
- t['sms'] = dominio.sms
- t['sendafile'] = dominio.sendafile
- t['lmtp'] = dominio.lmtp
- t['sieve'] = dominio.sieve
- t['antivirus'] = dominio.antivirus
- t['spf'] = dominio.spf
- t['blacklist'] = dominio.blacklist
- t['ftp'] = dominio.ftp
- t['sql'] = dominio.sql
- t['http'] = dominio.http
- t['proxy'] = dominio.proxy
- t['edit'] = dominio.edit
- t['notifica_mail_domain_admin'] = dominio.notifica_mail_domain_admin
- t['notifica_mail_domain_user'] = dominio.notifica_mail_domain_user
- try:
- t['dominio_storia'] = dominio.storia_set.all()
- except ValueError as ve:
- print('Errore:',ve)
- try:
- t['registrar'] = dominio.registrar_id
- except Registrar.DoesNotExist as dne:
- print(dne)
- try:
- t['mail_server'] = dominio.mail_server_id
- except MailServer.DoesNotExist as dne:
- print(dne)
- t['mail_server'] = getConfigurazione('default_mail_server')
- try:
- t['mail_proxy'] = dominio.mail_proxy_id
- except MailProxy.DoesNotExist as dne:
- print(dne)
- t['mail_proxy'] = getConfigurazione('default_mail_proxy')
- try:
- t['lmtp_server'] = dominio.lmtp_server_id
- except LmtpServer.DoesNotExist as dne:
- print(dne)
- t['lmtp_server'] = getConfigurazione('default_lmtp_server')
- try:
- t['sql_remote'] = dominio.mail_proxy_id
- except MailProxy.DoesNotExist as dne:
- print(dne)
- t['sql_remote'] = getConfigurazione('default_sql_remote')
- try:
- t['last_causale'] = dominio.last_causale_id
- except Causale.DoesNotExist as dne:
- print("Causale indicata inesistente")
- t['last_causale'] = 0
- except ValueError as ve:
- print("Errore di valore")
- t['last_causale'] = 0
- try:
- t['target'] = dominio.target_id
- print('target',t['target'])
- except Target.DoesNotExist as dne:
- print("Target indicato inesistente")
- t['target'] = getConfigurazione('default-target')
- value['totale'] = 0
- try:
- value['totale'] += dominio.mail_quota
- except TypeError:
- value['totale'] += 0
- try:
- value['totale'] += dominio.http_quota
- except TypeError:
- value['totale'] += 0
- try:
- value['totale'] +=dominio.ftp_quota
- except TypeError:
- value['totale'] += 0
- try:
- value['totale'] += dominio.sql_quota
- except TypeError:
- value['totale'] += 0
- try:
- value['totale'] += dominio.nextcloud_quota
- except TypeError:
- value['totale'] += 0
- print('totale',value['totale'])
- print(t)
- fde = FormDomainEdit(t)
- fde.update()
- value['domainedit']=fde
-
- try:
- value['display_last_causale'] = dominio.last_causale.nome
- except Causale.DoesNotExist as dne:
- value['display_last_causale'] = 'non assegnata'
- except ValueError:
- value['display_last_causale' ] = 'non assegnata'
-
- value['UltimaStoriaCausali'] = UltimaStoriaCausali(dominio,5)
- # mostra assegnazione ftp
- ftplist = FTPUser.objects.all().filter(dominio=dominio.id)
- value['ftplist'] = ftplist
- return render(request,'gestione.domain.edit.html',value)
- def DomainShow(request):
- session = getSessionParms(request)
- userauth = session['_userauth_']
- utenteautorizzato = User.objects.get(pk=userauth)
- dominio = Domini()
- domain2edit = session['_domain2edit_']
- if not domain2edit:
- domain2edit = utenteautorizzato.domain.id
- dominio = Domini.objects.get(pk=domain2edit)
-
- print("domain2Edit: ",domain2edit)
-
- value={}
- value['utenteautorizzato'] = utenteautorizzato
- value['used_account' ] = len(User.objects.filter(domain=dominio))
- value['used_alias'] = len(Alias.objects.filter(domain=dominio))
- value['registrar'] = Registrar.objects.all().filter(enabled=True).order_by('nome')
- print("livello autorizzazione",utenteautorizzato.securitylevel_id)
- securitylevel = getSecurityLevel(utenteautorizzato.securitylevel_id)
- securityrow = getSecurityRow(securitylevel.id)
- securitylist = getSecurityList(securityrow)
- value['securityrow'] = securityrow
- value['securityrowLen'] = len(securityrow)
- value['securitylist'] = securitylist
- value['navbar']=True
- value['dominio'] = dominio
-
- value['totale'] = 0
- try:
- value['totale'] += dominio.mail_quota
- except TypeError:
- value['totale'] += 0
- try:
- value['totale'] += dominio.http_quota
- except TypeError:
- value['totale'] += 0
- try:
- value['totale'] +=dominio.ftp_quota
- except TypeError:
- value['totale'] += 0
- try:
- value['totale'] += dominio.sql_quota
- except TypeError:
- value['totale'] += 0
- try:
- value['totale'] += dominio.nextcloud_quota
- except TypeError:
- value['totale'] += 0
- print('totale',value['totale'])
- # mostra assegnazione ftp
- ftplist = FTPUser.objects.all().filter(dominio=dominio.id)
- value['ftplist'] = ftplist
- return render(request,'gestione.domain.show.html',value)
- def DomainServiziLista(request):
- '''
- lista dei servizi disponibili indipendentemente dal dominio
- '''
- session = getSessionParms(request)
- userauth = session['_userauth_']
- utenteautorizzato = User.objects.get(pk=userauth)
- # da qui carica i dati dal db.
- #domain2edit = session['_domain2edit_']
- #dominio = Domini.objects.get(pk=domain2edit)
- value={}
- value['utenteautorizzato'] = utenteautorizzato
- #value['dominio'] = dominio
- print("livello autorizzazione",utenteautorizzato.securitylevel_id)
- securitylevel = getSecurityLevel(utenteautorizzato.securitylevel.id)
- securityrow = getSecurityRow(securitylevel.id)
- securitylist = getSecurityList(securityrow)
- value['securityrow'] = securityrow
- value['securityrowLen'] = len(securityrow)
- value['securitylist'] = securitylist
- value['navbar']=True
- value['domainservice'] = DominiServizi.objects.all()
- if request.method=="POST":
- pass
- return render(request,"gestione.domain.servizi.lista.html",value)
- def DomainServiceEdit(request):
- '''
- accesso ai servizi legati al dominio
- '''
- session = getSessionParms(request)
- userauth = session['_userauth_']
- utenteautorizzato = User.objects.get(pk=userauth)
- # da qui carica i dati dal db.
- domain2edit = session['_domainservice2edit_']
- dommainservice = DomainService.objects.get(pk=domainservice2edit)
- value={}
- value['utenteautorizzato'] = utenteautorizzato
- value['dominio'] = dominio
- print("livello autorizzazione",utenteautorizzato.securitylevel_id)
- securitylevel = getSecurityLevel(utenteautorizzato.securitylevel.id)
- securityrow = getSecurityRow(securitylevel.id)
- securitylist = getSecurityList(securityrow)
- value['securityrow'] = securityrow
- value['securityrowLen'] = len(securityrow)
- value['securitylist'] = securitylist
- value['navbar']=True
- domainservice = DomainService()
- try:
- domainservice = DomainService.objects.get(ok=domainservice2edit)
- except DomainService.DoesNotExist as dne:
- print(dne)
- if request.method=="POST":
- if 'edit' in request.POST:
- pass
- temp = {}
- temp['nome'] = domainservice.nome
- temp['classe'] = domainservice.classe
- temp['enabled'] = domainservice.enabled
- temp['home'] = domainservice.home
- domainserviceform = DomainServiceForm(temp)
- value['doaminserviceform'] = domainserviceform
-
- return render(request,"gestioneDomainService.html",value)
- def ServiziLista(request):
- session = getSessionParms(request)
- userauth = session['_userauth_']
- request.session['_from_']="Domini:ServiziList"
- try:
- utenteautorizzato = User.objects.get(pk=userauth)
- except User.DoesNotExist as dne:
- return HttpResponseRedirect(reverse('Login:login',args={}))
- servizi = Servizi.objects.all().order_by('nome')
- value={}
- value['utenteautorizzato'] = utenteautorizzato
- value['causali'] = causali
- value['navbar'] = True
- print("livello autorizzazione",utenteautorizzato.securitylevel_id)
- securitylevel = getSecurityLevel(utenteautorizzato.securitylevel_id)
- securityrow = getSecurityRow(utenteautorizzato.securitylevel_id)
- value['securityrow'] = securityrow
- value['securityrowLen'] = len(securityrow)
- return render(request,'gestione.servizi.list.html',value)
- def DomainServizi(request):
- '''
- accesso ai servizi legati al domini x singolo dominio
- '''
- session = getSessionParms(request)
- userauth = session['_userauth_']
- utenteautorizzato = User.objects.get(pk=userauth)
- # da qui carica i dati dal db.
- domain2edit = session['_domain2edit_']
- dominio = Domini.objects.get(pk=domain2edit)
- value={}
- value['utenteautorizzato'] = utenteautorizzato
- value['dominio'] = dominio
- print("livello autorizzazione",utenteautorizzato.securitylevel_id)
- securitylevel = getSecurityLevel(utenteautorizzato.securitylevel.id)
- securityrow = getSecurityRow(securitylevel.id)
- securitylist = getSecurityList(securityrow)
- value['securityrow'] = securityrow
- value['securityrowLen'] = len(securityrow)
- value['securitylist'] = securitylist
- value['navbar']=True
- return render(request,"gestione.domain.servizi.html",value)
- def DomainServiceAssignment(request):
- session = getSessionParms(request)
- userauth = session['_userauth_']
- utenteautorizzato = User.objects.get(pk=userauth)
- # da qui carica i dati dal db.
- domain2edit = session['_domain2edit_']
- dominio = Domini.objects.get(pk=domain2edit)
- value={}
- value['utenteautorizzato'] = utenteautorizzato
- value['dominio'] = dominio
- print("livello autorizzazione",utenteautorizzato.securitylevel_id)
- securitylevel = getSecurityLevel(utenteautorizzato.securitylevel.id)
- securityrow = getSecurityRow(securitylevel.id)
- securitylist = getSecurityList(securityrow)
- value['securityrow'] = securityrow
- value['securityrowLen'] = len(securityrow)
- value['securitylist'] = securitylist
- value['navbar']=True
- if request.method == 'POST':
- print(request.POST)
- if 'serviziodaaaggiungere' in request.POST:
- print('addservice')
- v = request.POST.get('serviziodaaggiungere')
- print(v)
- s = DominiServizi.objects.get(pk=v)
- d = DominiServiziAssegnati()
- d.dominio = dominio
- d.servizio = s
- d.attivazione = datetime.today().strftime('%Y-%m-%d')
- f = FormServiziNota(request.POST)
- if f.is_valid():
- d.nota = f.cleaned_data.get('nota')
- print(d.nota)
- else:
- print(f.errors)
- d.save()
- if 'serviziodarimuovere' in request.POST:
- v = request.POST.get('serviziodarimuovere')
- print('delservice',v)
- s = DominiServiziAssegnati.objects.get(pk=int(v))
- s.disattivazione = datetime.today().strftime('%Y-%m-%d')
- f = FormServiziNota(request.POST)
- if f.is_valid():
- s.nota = f.cleaned_data['nota']
- print(".",s.nota)
- else:
- print(f.errors)
- s.save()
- value['domainservizi'] = DominiServizi.objects.all().filter(enabled=True)
- value['domainserviziassegnati'] = dominio.dominiserviziassegnati_set.all()
- return render(request,'gestione.servizi.assignment.html',value)
- def DomainService(request):
- pass
- def OnSync(request):
- #sincronizza alcuni parametri di un dominio
- session = getSessionParms(request)
- userauth = session['_userauth_']
- utenteautorizzato = User.objects.get(pk=userauth)
- domain2edit = session['_domain2edit_']
- # se e' a 0: associa il dominio dell'utente autorizzato
- # se e' a -1: nuovo dominio
- # se non e' indicato un dominio, usa il dominio dell'utente.
- if not domain2edit:
- return HttpResponseNonFound('Not Valid')
- dominio = Domini.objects.get(pk=domain2edit)
- data = { 'Status': 'freghete' }
- return JsonResponse(data)
|