[attributs,lc_ldap] On va chercher les responsables de club de manière paresseuse
This commit is contained in:
parent
66a1eb2fb5
commit
680446be8b
2 changed files with 19 additions and 7 deletions
13
lc_ldap.py
13
lc_ldap.py
|
@ -138,8 +138,6 @@ class lc_ldap(ldap.ldapobject.LDAPObject):
|
|||
machines[parent_dn]=[]
|
||||
machines[parent_dn].append(m)
|
||||
elif (dn.startswith('aid=') or dn.startswith('cid=') or dn==base_dn) and not parent.has_key(dn):
|
||||
# Hélas on refait une recherche ldap dans attributs.py pour trouver les responsables des club
|
||||
# ce qui prends un temps non négligeable mais est toujours mieux que de le faire pour tous les adherents
|
||||
parent[dn]=new_cransldapobject(self, dn, ldif = attrs)
|
||||
allmachines=[]
|
||||
for dn,mlist in machines.items(): # on associe propriétaires et machines
|
||||
|
@ -460,7 +458,7 @@ class proprio(CransLdapObject):
|
|||
bool_paiement = True
|
||||
except KeyError:
|
||||
pass
|
||||
if config.bl_carte_et_definitif:
|
||||
if config.bl_carte_et_definitif and not 'club' in map(lambda x:x.value,self["objectClass"]):
|
||||
bool_carte = False
|
||||
try:
|
||||
for carte in self['carteEtudiant']:
|
||||
|
@ -496,6 +494,15 @@ class machine(CransLdapObject):
|
|||
if not self._proprio:
|
||||
self._proprio = new_cransldapobject(self.conn, parent_dn, self.mode)
|
||||
return self._proprio
|
||||
|
||||
def blacklist_actif(self):
|
||||
"""Renvoie la liste des blacklistes actives sur la machine et le proprio"""
|
||||
# XXX - Proposer de filtrer les blacklistes avec un arg supplémentaire ?
|
||||
# XXX - Vérifier les blacklistes des machines pour les adhérents ?
|
||||
black=self.proprio().blacklist_actif()
|
||||
attrs = (self.attrs if self.mode not in ["w", "rw"] else self._modifs)
|
||||
black.extend(filter((lambda bl: bl.is_actif()), attrs.get("blacklist",[])))
|
||||
return black
|
||||
|
||||
|
||||
class AssociationCrans(proprio): pass
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue