clause speciale pour frosminet
darcs-hash:20070603225421-c992d-dee164635c810d440c8ca5f076a15d8836b7f98e.gz
This commit is contained in:
parent
28a49731f5
commit
8f9f145f8c
1 changed files with 21 additions and 8 deletions
|
@ -805,13 +805,12 @@ class CransLdap:
|
|||
|
||||
return result
|
||||
|
||||
def getProprio(self, uid, passwd=None, obligatoire=False):
|
||||
def getProprio(self, uid, mode=''):
|
||||
"""
|
||||
Renvoie un proprietaire ou un adherent correspondant au
|
||||
login/ mot de passe (mot de passe facultatif)
|
||||
obligatoire : mot de passe obligatoire
|
||||
"""
|
||||
recherche = self.search(("uid=%s" % uid))
|
||||
"""
|
||||
recherche = self.search(("uid=%s" % uid),mode)
|
||||
proprio = None
|
||||
|
||||
if len(recherche['club']) > 0:
|
||||
|
@ -819,9 +818,8 @@ class CransLdap:
|
|||
if len(recherche['adherent']) > 0:
|
||||
proprio = recherche['adherent'][0]
|
||||
|
||||
if passwd:
|
||||
if not proprio.verifyPasswd(passwd):
|
||||
proprio = None
|
||||
if uid == "grosminet":
|
||||
proprio = self.search("nom=grosminet", mode)['adherent'][0]
|
||||
return proprio
|
||||
|
||||
__machines = ()
|
||||
|
@ -1203,7 +1201,7 @@ class BaseClasseCrans(CransLdap):
|
|||
self.conn.modify_s(self.dn, modlist)
|
||||
except ldap.TYPE_OR_VALUE_EXISTS, c:
|
||||
champ = c.args[0]['info'].split(':')[0]
|
||||
raise RuntimeError(u'Entrée en double dans le champ %s' % champ)
|
||||
raise RuntimeError('Entrée en double dans le champ %s' % champ.encode("iso-8859-1"))
|
||||
|
||||
### Génération de la liste de services à redémarrer
|
||||
# Quasiement tout est traité dans les classes filles.
|
||||
|
@ -2349,6 +2347,21 @@ class Club(BaseProprietaire):
|
|||
|
||||
self._set('responsable', [adher.id()])
|
||||
return adher
|
||||
|
||||
def responsables(self, ajouter=None, retirer=None):
|
||||
""" Responsables du club, ajouter et retirer doivent
|
||||
tre des instances de la classe adherent """
|
||||
if ajouter != None:
|
||||
self._data['responsables'].remove(ajouter.id())
|
||||
self._data['responsables'].append(ajouter.id())
|
||||
elif retirer != None:
|
||||
self._data['responsables'].remove(retirer.id())
|
||||
else:
|
||||
resultat = []
|
||||
for aid in self._data['responsables']:
|
||||
resultat.append(db.search('uid ='+uid)['adherent'][0])
|
||||
return adher
|
||||
|
||||
|
||||
def chbre(self, new=None):
|
||||
""" Défini le local du club
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue