sur les methodes .proprio() et .machines() possibilité de spécifier un mode différent

This commit is contained in:
Valentin Samir 2014-02-22 19:02:54 +01:00
parent 78b50415fe
commit 8eb8aa2ba6
2 changed files with 6 additions and 6 deletions

View file

@ -655,10 +655,10 @@ class proprio(CransLdapObject):
self.history_add(login, u"%s %.2f Euros [%s]" % (transaction, abs(diff), comment))
self["solde"] = new_solde
def machines(self):
def machines(self, mode=None):
"""Renvoie la liste des machines"""
if self._machines is None:
self._machines = self.conn.search(u'mid=*', dn = self.dn, scope = 1, mode=self.mode)
self._machines = self.conn.search(u'mid=*', dn = self.dn, scope = 1, mode=self.mode if mode is None else mode)
for m in self._machines:
m._proprio = self
return self._machines
@ -706,11 +706,11 @@ class machine(CransLdapObject):
super(machine, self).__init__(conn, dn, mode, ldif)
self._proprio = None
def proprio(self):
def proprio(self, mode=None):
u"""Renvoie le propriétaire de la machine"""
parent_dn = self.dn.split(',', 1)[1]
if not self._proprio:
self._proprio = new_cransldapobject(self.conn, parent_dn, self.mode)
self._proprio = new_cransldapobject(self.conn, parent_dn, self.mode if mode is None else mode)
return self._proprio
def blacklist_actif(self, excepts=[]):

View file

@ -38,7 +38,7 @@ def services_to_args_mail_modif(x):
return [ "uid=%s" % x.parent['uid'][0] ]
elif isinstance(x, attributs.Attr) and x.__class__ in [ attributs.exempt ] + services_to_attrs['ports']:
return [ "mid=%s" % x.parent['mid'][0] ]
elif isinstance(x.parent, objets.machine) and isinstance(x.parent.proprio(), objets.AssociationCrans):
elif isinstance(x.parent, objets.machine) and isinstance(x.parent.proprio(mode='ro'), objets.AssociationCrans):
return [ "mid=%s" % x.parent['mid'][0] ]
else:
return []
@ -88,7 +88,7 @@ def services_to_args_del_user(x):
def services_to_args_blacklist(x):
if isinstance(x.parent, objets.machine):
return [ str(ip) for m in x.parent.proprio().machines() for ip in m['ipHostNumber'] ]
return [ str(ip) for m in x.parent.proprio(mode='ro').machines() for ip in m['ipHostNumber'] ]
elif isinstance(x.parent, objets.proprio):
return [ str(ip) for m in x.parent.machines() for ip in m['ipHostNumber'] ]
else: