[attributs] checks d'unicité sur la base
This commit is contained in:
parent
4178ad26ee
commit
82c08dfc0c
1 changed files with 9 additions and 4 deletions
13
attributs.py
13
attributs.py
|
@ -104,13 +104,18 @@ class Attr(object):
|
|||
"""Vérifie l'unicité dans la base de la valeur (mailAlias, chbre,
|
||||
etc...)"""
|
||||
attr = self.__class__.__name__
|
||||
if attr in [ "mid", "uid", "cid", "fid", "aid"]: #... etc
|
||||
assert not self.conn.search('%s=%s' % (attr, str(self)))
|
||||
if attr in [ "mailAlias", "canonicalAlias", 'mail', 'uid']:
|
||||
if attr in ["mid", "uid", "cid", "fid", "aid", "ipHostNumber", "uidNumber"]:
|
||||
res = self.conn.search('%s=%s' % (attr, str(self)))
|
||||
if res:
|
||||
raise ValueError("%s déjà existant" % attr, [r.dn for r in res])
|
||||
if attr in ["mailAlias", "canonicalAlias", 'mail', 'uid']:
|
||||
res = self.conn.search('(|(mail=%s)(mailAlias=%s)(canonicalAlias=%s))' % ((str(self),)*3))
|
||||
if res:
|
||||
raise ValueError("Mail déjà existant", [r.dn for r in res])
|
||||
#assert not mailexist(str(self))
|
||||
if attr in ["host", "hostAlias"]:
|
||||
res = self.conn.search('(|(host=%s)(hostAlias=%s))' % ((str(self),)*2))
|
||||
if res:
|
||||
raise ValueError("Hôte déjà existant", [r.dn for r in res])
|
||||
|
||||
def _check_users_restrictions(self, values):
|
||||
"""Vérifie les restrictions supplémentaires imposées selon les
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue