from django import forms import re from sicurezza.views import getSecurityLevelAll from .models import * from domini.models import * from django import forms class formAlias(forms.Form): def __init__(self,*args,**kwargs): forms.Form.__init__(self,*args,**kwargs) def update(self): self.fields['mailfrom'] = forms.CharField(required=True) self.fields['domain'] = forms.IntegerField(required=True) self.fields['mailto'] = forms.CharField(required=False,max_length=128) self.fields['nota'] = forms.CharField(widget=forms.Textarea(attrs={'rows':4,'cols':60}),required=False,initial='') self.fields['enabled'] = forms.BooleanField(required=False) self.fields['locked'] = forms.BooleanField(required=False) self.fields['tobedeleted'] = forms.BooleanField(required=False) self.fields['utenteautorizzato'] = forms.CharField(required=False,max_length=128) def clean_mailto(self): #check correttezza email. mailto = self.data['mailto'] print('data',mailto) # se 'mailto' è vuoto, si prende l'utente autorizzato. if not len(mailto): mailto = self.data['utenteautorizzato'] print('data full',mailto) print("self.data['domain']",self.data['domain']) domain_domain="" try: domain = Domini.objects.get(pk=self.data['domain']) domain_domain = domain.nome except Domini.DoesNotExist: raise forms.ValidationError("Il dominio non e' valido") baseconfronto = "{}@{}".format(self.data['mailfrom'],domain.nome) print("base confronto: ",baseconfronto) if mailto == baseconfronto: raise forms.ValidationError("La destinazione non può essere uguale alla sorgente!") ''' #cp = re.compile("[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,4}") cp = re.compile("[a-z0-9\.\+_-]+@[a-z0-9\._-]+\.[a-z]{2,6}") if cp.match(baseconfronto): print('confronto non valido') raise forms.ValidationError("Formato Email errato") else: print('formato mail valido') ''' return mailto