check_uniqueness ne se comportait pas mieux qu'avant d20fa54614
This commit is contained in:
parent
c0d2e04cc7
commit
00f67697ee
1 changed files with 24 additions and 18 deletions
18
attributs.py
18
attributs.py
|
@ -756,8 +756,11 @@ class mail(rightProtectedAttr):
|
||||||
attr = self.__class__.__name__
|
attr = self.__class__.__name__
|
||||||
if str(self) in liste_exclue:
|
if str(self) in liste_exclue:
|
||||||
return
|
return
|
||||||
if attr in ["mailAlias", "canonicalAlias", 'mail']:
|
if attr in ["mailAlias", "canonicalAlias", 'mail', 'mailExt']:
|
||||||
mail = str(self)
|
mail = str(self)
|
||||||
|
|
||||||
|
_, domain = mail.split('@')
|
||||||
|
if domain in config.dns.mail_crans:
|
||||||
# On commence par vérifier auprès du serveur SMTP
|
# On commence par vérifier auprès du serveur SMTP
|
||||||
# si l'adresse email est prise sur le réseau. Cela permet
|
# si l'adresse email est prise sur le réseau. Cela permet
|
||||||
# de tester aussi les adresses statiquement écrites dans
|
# de tester aussi les adresses statiquement écrites dans
|
||||||
|
@ -768,11 +771,13 @@ class mail(rightProtectedAttr):
|
||||||
res = smtp.getreply()[0] in [250, 252]
|
res = smtp.getreply()[0] in [250, 252]
|
||||||
smtp.close()
|
smtp.close()
|
||||||
except:
|
except:
|
||||||
raise ValueError('Serveur de mail injoignable')
|
print 'Serveur de mail injoignable'
|
||||||
# Si le SMTP n'est pas joignable, on joue à la roulette
|
|
||||||
# russe en demandant à LDAP, sans vérifier les aliases
|
check = self.conn.search(
|
||||||
# statiques…
|
u'(|(mail=%(mail)s)(mailAlias=%(mail)s)(canonicalAlias=%(mail)s)(mailExt=%(mail)s))' % {
|
||||||
check = self.conn.search(u'mail=%s' % mail)
|
'mail': mail,
|
||||||
|
}
|
||||||
|
)
|
||||||
if len(check) >= 1:
|
if len(check) >= 1:
|
||||||
res = True
|
res = True
|
||||||
|
|
||||||
|
@ -1614,6 +1619,7 @@ class gpgMail(mail):
|
||||||
legend = "Mail associé à une clef gpg"
|
legend = "Mail associé à une clef gpg"
|
||||||
can_modify = [soi, nounou]
|
can_modify = [soi, nounou]
|
||||||
ldap_name = "gpgMail"
|
ldap_name = "gpgMail"
|
||||||
|
|
||||||
def check_uniqueness(self, liste_exclue):
|
def check_uniqueness(self, liste_exclue):
|
||||||
super(mail, self).check_uniqueness(liste_exclue)
|
super(mail, self).check_uniqueness(liste_exclue)
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue