diff --git a/gestion/ldap_crans.py b/gestion/ldap_crans.py index 6004d090..55d0cc63 100755 --- a/gestion/ldap_crans.py +++ b/gestion/ldap_crans.py @@ -11,7 +11,7 @@ Licence : GPLv2 from socket import gethostname import smtplib, sre, os, random, string, time, sys -import ldap, ldap.modlist +import ldap, ldap.modlist, ldap_passwd import config, annuaires, iptools, chgpass, user_tests, cPickle from chgpass import chgpass @@ -1421,6 +1421,23 @@ class base_proprietaire(base_classes_crans): # renvoie la valeur trouvée dans la base return bool(self._data.get('contourneGreylist', [])) + def verifyPasswd(self, passwd): + """ + Retourne True si le mot de passe est bon, + ou False si le mot de passe n'est pas bon. + """ + if not self.compte(): + raise NotImplementedError, u"L'adhérent n'a pas de compte" + return ldap_passwd.checkpwd(passwd, self._data['userPassword'][0]) + + def changePasswd(self, passwd): + """ + Modifie le mot de passe de l'adhérent + """ + if not self.compte(): + raise NotImplementedError, u"L'adhérent n'a pas de compte" + self._set('userPassword', [ldap_passwd.mkpasswd(passwd)]) + def home(self): """ Retourne le home de l'adhérent """ if not self.compte():