Esthtisme.
darcs-hash:20060309235447-68412-3733c8be4ceec74ea69f9cae948181293fabac74.gz
This commit is contained in:
parent
95a6fe21bd
commit
aea8585794
1 changed files with 51 additions and 46 deletions
|
@ -506,9 +506,10 @@ class crans_ldap:
|
||||||
def search(self, expression, mode=''):
|
def search(self, expression, mode=''):
|
||||||
"""
|
"""
|
||||||
Recherche dans la base LDAP, expression est une chaîne :
|
Recherche dans la base LDAP, expression est une chaîne :
|
||||||
une expression : champ1=expr1 champ2=expr2 champ3!=expr3....
|
* soit une expression : champ1=expr1&champ2=expr2&champ3!=expr3...
|
||||||
soit un seul terme, dans ce cas cherche sur les champs de auto_search_champs
|
* soit un seul terme, dans ce cas cherche sur les champs de
|
||||||
Si mode ='w' les instances crées seront en mode d'écriture
|
auto_search_champs
|
||||||
|
Si mode='w', les instances crées seront en mode d'écriture
|
||||||
"""
|
"""
|
||||||
|
|
||||||
if type(expression) == str:
|
if type(expression) == str:
|
||||||
|
@ -517,7 +518,7 @@ class crans_ldap:
|
||||||
elif type(expression) == unicode:
|
elif type(expression) == unicode:
|
||||||
expression = expression.encode('utf-8')
|
expression = expression.encode('utf-8')
|
||||||
else:
|
else:
|
||||||
raise TypeError(u'Chaine attendue')
|
raise TypeError(u'Chaîne attendue')
|
||||||
|
|
||||||
if not expression:
|
if not expression:
|
||||||
return []
|
return []
|
||||||
|
@ -531,9 +532,11 @@ class crans_ldap:
|
||||||
|
|
||||||
# Fonction utile
|
# Fonction utile
|
||||||
def build_filtre(champ, expr, neg=0):
|
def build_filtre(champ, expr, neg=0):
|
||||||
""" Retourne une chaine pour recherche dans la base LDAP
|
"""
|
||||||
du style (champ=expr) en adaptant les valeurs de expr au champ
|
Retourne une chaine pour recherche dans la base LDAP
|
||||||
si neg = 1: retourne le négatif : (!(champ=expr))"""
|
du style (champ=expr) en adaptant les valeurs de expr au champ.
|
||||||
|
Si neg = 1, retourne le négatif : (!(champ=expr))
|
||||||
|
"""
|
||||||
el = ''
|
el = ''
|
||||||
if champ in ['host', 'hostAlias']:
|
if champ in ['host', 'hostAlias']:
|
||||||
if expr[-1] == '*':
|
if expr[-1] == '*':
|
||||||
|
@ -548,13 +551,13 @@ class crans_ldap:
|
||||||
except: pass
|
except: pass
|
||||||
elif champ == 'paiement' and expr == 'ok':
|
elif champ == 'paiement' and expr == 'ok':
|
||||||
# Paiement donnant droit à une connexion maintenant ?
|
# Paiement donnant droit à une connexion maintenant ?
|
||||||
# il doit avoir payé pour
|
# (il doit avoir payé pour l'année en cours ou pour
|
||||||
# l'année en cours ou pour l'année précédente
|
# l'année précédente si on est en septembre
|
||||||
# si on est en septembre
|
|
||||||
#
|
#
|
||||||
# Dans tous les cas, pour un adhérent, le paiement est considéré non ok
|
# Dans tous les cas, pour un adhérent, le paiement est
|
||||||
# s'il n'a pas fourni sa carte d'etudiant alors que l'on est desormais
|
# considéré non ok s'il n'a pas fourni sa carte d'etudiant
|
||||||
# en periode de bloquage definifif (cf config.py).
|
# alors que l'on est desormais en periode de bloquage
|
||||||
|
# définifif (cf config.py).
|
||||||
if localtime()[1] == 9:
|
if localtime()[1] == 9:
|
||||||
# Pour septembre paiement année précédente ok
|
# Pour septembre paiement année précédente ok
|
||||||
el = "(|(paiement=%s)(paiement=%s))" % (int(ann_scol), int(ann_scol)-1)
|
el = "(|(paiement=%s)(paiement=%s))" % (int(ann_scol), int(ann_scol)-1)
|
||||||
|
@ -637,7 +640,8 @@ class crans_ldap:
|
||||||
# Filtre sur un seul champ
|
# Filtre sur un seul champ
|
||||||
# => on retourne tout
|
# => on retourne tout
|
||||||
for i in filtres:
|
for i in filtres:
|
||||||
if not r[i]: continue
|
if not r[i]:
|
||||||
|
continue
|
||||||
for res in r[i]:
|
for res in r[i]:
|
||||||
if i == "machine":
|
if i == "machine":
|
||||||
if res[1].has_key('puissance'):
|
if res[1].has_key('puissance'):
|
||||||
|
@ -668,8 +672,9 @@ class crans_ldap:
|
||||||
# Traitement des machines
|
# Traitement des machines
|
||||||
mach_adh = [] # liste de dn d'adhérents et de clubs
|
mach_adh = [] # liste de dn d'adhérents et de clubs
|
||||||
for res in r['machine']:
|
for res in r['machine']:
|
||||||
dn = string.join(res[0].split(',')[-4:],',')
|
dn = ','.join(res[0].split(',')[-4:])
|
||||||
if dn[:3] != 'aid' and dn[:3] != 'cid': continue
|
if dn[:3] != 'aid' and dn[:3] != 'cid':
|
||||||
|
continue
|
||||||
if dn not in mach_adh:
|
if dn not in mach_adh:
|
||||||
mach_adh.append(dn)
|
mach_adh.append(dn)
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue