Chercher les individus pour évaluer le fonctionnement
This commit is contained in:
@ -74,13 +74,24 @@ if __name__ == '__main__':
|
||||
connexion.connect()
|
||||
user = Enseignant()
|
||||
user.ldap_admin = connexion
|
||||
candidates = {user.get_attr(candidate, 'intid')[0]: [etab]
|
||||
for etab in etabs
|
||||
for candidate in connexion._search('(&(objectclass=eolegroupe)(type=etablissement)(cn={etab}))'.format(etab=etab),
|
||||
['memberUid'])[0][1]['memberUid']
|
||||
if user._is_enseignant(candidate)}
|
||||
result = ["{}\t{}".format(e[0]['nom'], " ".join(sorted(set(e)) + candidates[candidate])) for candidate in candidates for e in repartition[candidate] if len(set(e)) > 1]
|
||||
|
||||
members = []
|
||||
for etab in etabs:
|
||||
etab_group = connexion._search('(&(objectclass=eolegroupe)(type=etablissement)(cn={etab}))'.format(etab=etab),
|
||||
['memberUid'])
|
||||
if etab_group:
|
||||
enseignants = [enseignant
|
||||
for enseignant in etab_group[0][1].get('memberUid', [])
|
||||
if user._is_enseignant(enseignant)]
|
||||
members.extend(enseignants)
|
||||
members = sorted(list(set(members)))
|
||||
result = []
|
||||
for member, ind in [(member, user.get_attr(member, 'intid')) for member in members]:
|
||||
user_etabs = set(repartition.get(ind[0], []) + user.get_etab(member, multi_etabs=True))
|
||||
if len(user_etabs) > 1:
|
||||
partial_result = (member, ind[0], *sorted(user_etabs))
|
||||
result.append(partial_result)
|
||||
result.sort(key=lambda x: x[2:])
|
||||
result = [f"{el[0]}\t\t{el[1]}\t{' '.join(el[2:])}" for el in result]
|
||||
else:
|
||||
result = []
|
||||
print("\n".join(sorted(result)))
|
||||
|
Reference in New Issue
Block a user