[gest_crans] Possible de désactiver un compte.
* En cas de corruption de mot de passe par exemple
This commit is contained in:
parent
21a4c968b9
commit
7a49298de5
3 changed files with 49 additions and 3 deletions
|
@ -115,6 +115,7 @@ def to_unicode(txt, enc=encoding):
|
||||||
return txt.decode("UTF-8")
|
return txt.decode("UTF-8")
|
||||||
except:
|
except:
|
||||||
# Sinon c'est surement de l'iso
|
# Sinon c'est surement de l'iso
|
||||||
|
# donc on le décode en utf-8 \o/
|
||||||
return txt.decode("UTF-8")
|
return txt.decode("UTF-8")
|
||||||
|
|
||||||
def to_encoding(txt, enc=encoding):
|
def to_encoding(txt, enc=encoding):
|
||||||
|
|
|
@ -645,6 +645,35 @@ def set_droits(adher):
|
||||||
dialog(arg)
|
dialog(arg)
|
||||||
return 1
|
return 1
|
||||||
|
|
||||||
|
def set_actif(adher):
|
||||||
|
u"""
|
||||||
|
Définition de l'état d'activité du compte.
|
||||||
|
"""
|
||||||
|
# Initialisation des différentes checkbox
|
||||||
|
inactif = on_off("0" in adher.active())
|
||||||
|
|
||||||
|
# Construction de la boîte de dialogue
|
||||||
|
texte = []
|
||||||
|
checklist = []
|
||||||
|
|
||||||
|
if state:
|
||||||
|
checklist.append(u'"1" "Compte mail/serveur désactivé" "%s"' % (inactif))
|
||||||
|
|
||||||
|
# Il y a qqch de modifiable, on construit la checklist
|
||||||
|
arg = u'--title "Statut du compte %s" ' % adher.Nom()
|
||||||
|
arg += u'--separate-output '
|
||||||
|
arg += u'--checklist "" 0 0 0 '
|
||||||
|
arg += u' '.join(checklist)
|
||||||
|
|
||||||
|
annul, result = dialog(arg)
|
||||||
|
if annul: return 1
|
||||||
|
|
||||||
|
# Traitement
|
||||||
|
if '1\n' in result:
|
||||||
|
adher.active(False)
|
||||||
|
else:
|
||||||
|
adher.active(True)
|
||||||
|
|
||||||
def del_adher(adher):
|
def del_adher(adher):
|
||||||
u"""
|
u"""
|
||||||
Destruction adhérent
|
Destruction adhérent
|
||||||
|
@ -1664,9 +1693,7 @@ def modif_adher(adher):
|
||||||
arg += u'"Administratif" "Précâblage, carte d\'étudiant, études" '
|
arg += u'"Administratif" "Précâblage, carte d\'étudiant, études" '
|
||||||
if not payant:
|
if not payant:
|
||||||
arg += u'"Connexion" "Changer de type de connexion(gratuit->payant)" '
|
arg += u'"Connexion" "Changer de type de connexion(gratuit->payant)" '
|
||||||
if adher.compte(): changement_compte = u", compte sur zamok"
|
arg += u'"Etat-civil" "Nom, prénom" '
|
||||||
else: changement_compte = u""
|
|
||||||
arg += u'"Etat-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:
|
||||||
|
@ -1681,6 +1708,8 @@ def modif_adher(adher):
|
||||||
if isadm or isbureau:
|
if isadm or isbureau:
|
||||||
if 'cransAccount' in adher._data['objectClass']:
|
if 'cransAccount' in adher._data['objectClass']:
|
||||||
arg += u'"Droits" "Modifier les droits alloués à cet adhérent" '
|
arg += u'"Droits" "Modifier les droits alloués à cet adhérent" '
|
||||||
|
if 'shadowAccount' in adher._data['objectClass']:
|
||||||
|
arg += u'"Etat" "Passer le compte à actif ou inactif" '
|
||||||
if 'posixAccount' in adher._data['objectClass']:
|
if 'posixAccount' in adher._data['objectClass']:
|
||||||
arg += u'"Shell" "Changer le shell de cet utilisateur" '
|
arg += u'"Shell" "Changer le shell de cet utilisateur" '
|
||||||
if isdeconnecteur:
|
if isdeconnecteur:
|
||||||
|
@ -1796,6 +1825,9 @@ def modif_adher(adher):
|
||||||
elif res[0] == 'GPGFingerprint':
|
elif res[0] == 'GPGFingerprint':
|
||||||
__prompt_input_menu(adher.gpgFingerprint, 'GPG Fingerprint', u"Entrez ou modifier une empreinte GPG que l'adhérent possède (tout abus sera sanctionné).\nPour ajouter une empreinte modifier le dernier de la liste.")
|
__prompt_input_menu(adher.gpgFingerprint, 'GPG Fingerprint', u"Entrez ou modifier une empreinte GPG que l'adhérent possède (tout abus sera sanctionné).\nPour ajouter une empreinte modifier le dernier de la liste.")
|
||||||
|
|
||||||
|
elif res[0] == "Etat":
|
||||||
|
set_actif(adher)
|
||||||
|
|
||||||
elif res[0] == 'Shell':
|
elif res[0] == 'Shell':
|
||||||
while 1:
|
while 1:
|
||||||
arg = u'--title "Nouveau shell pour %s" ' % adher.Nom()
|
arg = u'--title "Nouveau shell pour %s" ' % adher.Nom()
|
||||||
|
|
|
@ -2453,6 +2453,19 @@ class Adherent(BaseProprietaire):
|
||||||
|
|
||||||
return decode(login)
|
return decode(login)
|
||||||
|
|
||||||
|
def active(self, status=None):
|
||||||
|
"""Permet d'activer ou désactiver un compte"""
|
||||||
|
if self.compte() == '':
|
||||||
|
raise EnvironmentError("Can't deactivate non-existing account")
|
||||||
|
if status == None:
|
||||||
|
return not (self._data.get("setExpire", [""])[0] == "0")
|
||||||
|
elif status == False:
|
||||||
|
self._set('setExpire', ["0"])
|
||||||
|
else:
|
||||||
|
self._set('setExpire', [])
|
||||||
|
|
||||||
|
return not (self._data.get("setExpire", [""])[0] == "0")
|
||||||
|
|
||||||
def canonical_alias(self, new=None):
|
def canonical_alias(self, new=None):
|
||||||
""" Retourne ou défini l'alias canonique"""
|
""" Retourne ou défini l'alias canonique"""
|
||||||
if new == None:
|
if new == None:
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue