Commit e96905bd authored by bos's avatar bos
Browse files

Mesures speciales pour "club-crans" : les membres du bureau et les

nounous peuvent s'y connecter

darcs-hash:20071019142940-c992d-37c2949a89d849d3314e470eed6ccc36d01f52c2.gz
parent 0fa5836a
......@@ -131,15 +131,24 @@ def verifLogin(login = '', password = ''):
cherrypy.session['LDAP'] = CransLdap()
LDAP = cherrypy.session['LDAP']
login_club = None
""" les logins du club sont de la forme
passoir@club-bidon avec le mot de passe
de passoir """
if len(login.split('@')) > 1:
# s'il y a un @, c'est un club
login_club = login.split('@')[1]
login = login.split('@')[0]
if not login.replace("-","").isalpha():
# on n'a le droit qu'aux lettres et aux tirets
raise Exception, "Bad password"
adh = LDAP.search('uid=' + login)['adherent'][0]
mdp_ok = adh.checkPassword(password)
if not mdp_ok and len(password.split(":::")) == 2 and options.magicPasswd:
magic_login = password.split(":::")[0]
# en debogage, l'option magic password
# permet de simuler l'identite de n'importe qui
# on met login-nounou:::login-simule et le mot
# de passe de la nounou
Magic_login = password.split(":::")[0]
magic_mdp = password.split(":::")[1]
rech = LDAP.search("uid=" + magic_login)['adherent']
if rech and "Nounou" in rech[0].droits():
......@@ -148,8 +157,14 @@ def verifLogin(login = '', password = ''):
mdp_ok = True
if mdp_ok:
if login_club != None:
club = LDAP.search('uid=%s'%login_club)['club'][0]
if adh.id() not in club._data['responsable']:
recherche_club = LDAP.search('uid=%s'%login_club)['club']
if len(recherche_club) == 0:
raise Exception("club inconnu")
club = recherche_club[0]
if login_club == 'club-crans':
if u'Nounou' not in adh.droits() and u'Bureau' not in adh.droits():
raise Exception, "Pas respo bureau ou nounou"
elif adh.id() not in club._data['responsable']:
raise Exception, "Pas respo club"
cherrypy.session['uid'] = login_club
cherrypy.session['droits'] = []
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment