diff --git a/gestion/chsh.py b/gestion/chsh.py index cf039e54..d711820c 100755 --- a/gestion/chsh.py +++ b/gestion/chsh.py @@ -17,11 +17,20 @@ uid = os.getenv('SUDO_UID') if not uid : print "Impossible de déterminer l'utilisateur" sys.exit(1) - -adh = db.search('uidNumber=%s' % os.getenv('SUDO_UID'),'w')['adherent'] + +s = db.search('uidNumber=%s' % os.getenv('SUDO_UID'),'w') + +# On vérifie que c'est pas un club +club = s['club'] +if len(club) == 1 : + print 'Pas de changement de shell pour les clubs' + sys.exit(2) + +# On regarde si on a des résultats dans les adhérents +adh = s['adherent'] if len(adh) != 1 : print 'Erreur fatale lors de la consultation de la base LDAP' - sys.exit(2) + sys.exit(3) adh = adh[0] shell = prompt('Nouveau shell :') @@ -32,7 +41,7 @@ fd.close() if not shell in map(str.strip,lines) : print 'Shell invalide. Les shells valides sont :' print ''.join(lines[1:]) - sys.exit(3) + sys.exit(4) adh.chsh(shell) adh.save()