[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,
|
"""Vérifie l'unicité dans la base de la valeur (mailAlias, chbre,
|
||||||
etc...)"""
|
etc...)"""
|
||||||
attr = self.__class__.__name__
|
attr = self.__class__.__name__
|
||||||
if attr in [ "mid", "uid", "cid", "fid", "aid"]: #... etc
|
if attr in ["mid", "uid", "cid", "fid", "aid", "ipHostNumber", "uidNumber"]:
|
||||||
assert not self.conn.search('%s=%s' % (attr, str(self)))
|
res = self.conn.search('%s=%s' % (attr, str(self)))
|
||||||
if attr in [ "mailAlias", "canonicalAlias", 'mail', 'uid']:
|
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))
|
res = self.conn.search('(|(mail=%s)(mailAlias=%s)(canonicalAlias=%s))' % ((str(self),)*3))
|
||||||
if res:
|
if res:
|
||||||
raise ValueError("Mail déjà existant", [r.dn for r in 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):
|
def _check_users_restrictions(self, values):
|
||||||
"""Vérifie les restrictions supplémentaires imposées selon les
|
"""Vérifie les restrictions supplémentaires imposées selon les
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue