Changement nom+prenom par Stphane.
Si l'adhrent n'a pas de compte ne pose pas de question. Sinon demande si le compte est utilis si oui conserve le login inchang si non dtruit le compte et en cre un nouveau darcs-hash:20051107000653-41617-8638a050728561810634ecd1e09c04917aca9987.gz
This commit is contained in:
parent
2f1b832f50
commit
11c381d8c8
2 changed files with 74 additions and 5 deletions
|
@ -411,6 +411,64 @@ def set_mail_ext(adher) :
|
||||||
dialog(arg)
|
dialog(arg)
|
||||||
return set_mail_ext(adher)
|
return set_mail_ext(adher)
|
||||||
|
|
||||||
|
def set_etat_civil(adher):
|
||||||
|
u"""
|
||||||
|
Modifie l'état-civil (nom, prénom) d'un adhérent.
|
||||||
|
"""
|
||||||
|
if u'Nounou' in adher.droits() and not isadm :
|
||||||
|
arg = u'--title "Adresse mail de %s" ' % adher.Nom()
|
||||||
|
arg+= u'--msgbox "Vous n\'avez pas les droits necessaires pour effectuer cette opération.\n\n\n" 0 0'
|
||||||
|
dialog(arg)
|
||||||
|
return
|
||||||
|
|
||||||
|
# Construction de la boite de dialogue
|
||||||
|
arg = u'--title "État-civil de %s" ' % adher.Nom()
|
||||||
|
arg+= u'--form "" 0 0 0 '
|
||||||
|
arg+= u'"Nom :" 1 1 "%s" 1 13 20 20 ' % adher.nom()
|
||||||
|
arg+= u'"Prénom :" 2 1 "%s" 2 13 20 20 ' % adher.prenom()
|
||||||
|
|
||||||
|
# Affichage
|
||||||
|
annul, result = dialog(arg)
|
||||||
|
if annul: return
|
||||||
|
|
||||||
|
# Traitement
|
||||||
|
err = ''
|
||||||
|
try: adher.nom(result[0])
|
||||||
|
except ValueError, c: err += c.args[0] + '\n'
|
||||||
|
|
||||||
|
try: adher.prenom(result[1])
|
||||||
|
except ValueError, c: err += c.args[0] + '\n'
|
||||||
|
|
||||||
|
# Des erreurs ?
|
||||||
|
if err:
|
||||||
|
arg = u'--title "État-civil de %s" ' % adher.Nom()
|
||||||
|
arg+= u'--msgbox "%s\n\n" 0 0' % err
|
||||||
|
dialog(arg)
|
||||||
|
# On redemande
|
||||||
|
return set_etat_civil(adher)
|
||||||
|
|
||||||
|
# On change éventuellement le compte
|
||||||
|
if adher.compte():
|
||||||
|
# On demande au câbleur s'il faut garder le compte ou pas
|
||||||
|
arg = u'--title "Modification du compte de %s" ' % adher.Nom()
|
||||||
|
arg += u'--colors --defaultno --yesno "Changer le login de l\'adhérent ?\n'
|
||||||
|
arg += u'Son login actuel est %s.\n\n' % adher.compte()
|
||||||
|
arg += u'Choisir Oui si l\'adhérent n\'a jamais utilisé son compte.\n\n'
|
||||||
|
arg += u'\Zr\Z1AVERTISSEMENT :\n'
|
||||||
|
arg += u'Le changement de login entraîne la suppression irréversible du compte, '
|
||||||
|
arg += u'et donc de tous les fichiers, mails, etc. associés !\Z0\ZR\n\n\n" '
|
||||||
|
arg += u'0 0'
|
||||||
|
no = not dialog(arg)[0]
|
||||||
|
|
||||||
|
if no:
|
||||||
|
# L'utilisateur n'utilise pas son compte, on le supprime...
|
||||||
|
adher.supprimer_compte()
|
||||||
|
# ..et on le recrée (ou on met une adresse mail extérieure)
|
||||||
|
if set_mail(adher):
|
||||||
|
# Le changement d'adresse a été annulé, on recommence tout
|
||||||
|
adher.restore()
|
||||||
|
return set_etat_civil(adher)
|
||||||
|
|
||||||
def set_compte(adher) :
|
def set_compte(adher) :
|
||||||
"""
|
"""
|
||||||
Créé un compte sur vert pour un adhérent.
|
Créé un compte sur vert pour un adhérent.
|
||||||
|
@ -1249,6 +1307,9 @@ def modif_adher(adher) :
|
||||||
arg = u'--title "Modification de %s" ' % adher.Nom()
|
arg = u'--title "Modification de %s" ' % adher.Nom()
|
||||||
arg+= u'--menu "Que souhaitez vous modifier ?" 0 0 0 '
|
arg+= u'--menu "Que souhaitez vous modifier ?" 0 0 0 '
|
||||||
arg+= u'"Administratif" "Précâblage, carte d\'étudiant, études" '
|
arg+= u'"Administratif" "Précâblage, carte d\'étudiant, études" '
|
||||||
|
if adher.compte(): changement_compte = u", compte sur zamok"
|
||||||
|
else: changement_compte = u""
|
||||||
|
arg+= u'"État-civil" "Nom, prénom%s" ' % changement_compte
|
||||||
if adher.chbre() == 'EXT' :
|
if adher.chbre() == 'EXT' :
|
||||||
arg+= u'"Adresse" "Déménagement" '
|
arg+= u'"Adresse" "Déménagement" '
|
||||||
else :
|
else :
|
||||||
|
@ -1272,6 +1333,8 @@ def modif_adher(adher) :
|
||||||
|
|
||||||
if res[0]=='Etudes' :
|
if res[0]=='Etudes' :
|
||||||
set_etudes(adher)
|
set_etudes(adher)
|
||||||
|
elif res[0] == 'État-civil':
|
||||||
|
set_etat_civil(adher)
|
||||||
elif res[0]=='Administratif' :
|
elif res[0]=='Administratif' :
|
||||||
if not set_admin(adher) :
|
if not set_admin(adher) :
|
||||||
set_etudes(adher)
|
set_etudes(adher)
|
||||||
|
|
|
@ -1561,16 +1561,22 @@ class adherent(base_proprietaire):
|
||||||
if sre.match('.*crans.(org|ens-cachan.fr)$',new):
|
if sre.match('.*crans.(org|ens-cachan.fr)$',new):
|
||||||
raise ValueError(u"Adresse mail @crans interdite ici")
|
raise ValueError(u"Adresse mail @crans interdite ici")
|
||||||
|
|
||||||
self._set('mail',[new])
|
|
||||||
|
|
||||||
# Il ne doit pas y avoir de compte
|
# Il ne doit pas y avoir de compte
|
||||||
|
self.supprimer_compte()
|
||||||
|
self._set('mail',[new])
|
||||||
|
|
||||||
|
return new
|
||||||
|
|
||||||
|
def supprimer_compte(self):
|
||||||
|
u"""
|
||||||
|
Supprime le compte sur zamok. Penser à définir l'adresse mail après.
|
||||||
|
"""
|
||||||
|
self._set('mail', [''])
|
||||||
self._data['objectClass'] = [ 'adherent' ]
|
self._data['objectClass'] = [ 'adherent' ]
|
||||||
|
|
||||||
for c in [ 'uid', 'cn', 'shadowLastChange', 'shadowMax', 'shadowWarning', 'loginShell', 'userPassword', 'uidNumber', 'gidNumber', 'homeDirectory', 'gecos', 'droits','mailAlias', 'cannonicalAlias' ]:
|
for c in [ 'uid', 'cn', 'shadowLastChange', 'shadowMax', 'shadowWarning', 'loginShell', 'userPassword', 'uidNumber', 'gidNumber', 'homeDirectory', 'gecos', 'droits','mailAlias', 'cannonicalAlias' ]:
|
||||||
try: self._data.pop(c)
|
try: self._data.pop(c)
|
||||||
except: pass
|
except: pass
|
||||||
|
|
||||||
return new
|
|
||||||
|
|
||||||
def etudes(self,index_or_new):
|
def etudes(self,index_or_new):
|
||||||
"""
|
"""
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue