Prise en charge de l'attribut mailExterieur comme redirection.
This commit is contained in:
parent
60d7087c60
commit
962d9df0f3
5 changed files with 100 additions and 54 deletions
|
@ -2043,34 +2043,18 @@ class BaseProprietaire(BaseClasseCrans):
|
|||
|
||||
# Faut-il créer un compte sur vert ?
|
||||
if 'compte' in self.modifs:
|
||||
ret += u'\nUn compte a été créé :\n login : %s\n' % self.compte()
|
||||
args = self._data['homeDirectory'][0] + ','
|
||||
args+= self._data['uidNumber'][0] + ','
|
||||
args+= self._data['uid'][0]
|
||||
r = prompt(u"Attribuer tout de suite un mot de passe ? [O/N]", "O")
|
||||
if r == 'O' or r == 'o':
|
||||
change_password(login=self.compte())
|
||||
else:
|
||||
ret += coul(u' Il faudra penser à attribuer un mot de passe\n', 'jaune')
|
||||
compte = self._data.get('uid', [''])[0]
|
||||
if compte:
|
||||
ret += u'\nUn compte a été créé :\n login : %s\n' % self.compte()
|
||||
r = prompt(u"Attribuer tout de suite un mot de passe ? [O/N]", "O")
|
||||
if r == 'O' or r == 'o':
|
||||
change_password(login=self.compte())
|
||||
else:
|
||||
ret += coul(u' Il faudra penser à attribuer un mot de passe\n', 'jaune')
|
||||
# Le deuxième argument est le potentiel chemin de l'ancien compte
|
||||
# s'il a jamais existé, ça permet de supprimer le home associé.
|
||||
args = "%s,%s" % (compte, self.modifs.get('compte', ''))
|
||||
|
||||
r = prompt(u"Redirection mail ? [O/N]")
|
||||
mail1 = mail2 = None
|
||||
if r.lower().startswith('o'):
|
||||
while True:
|
||||
mail1 = prompt(u"Adresse mail ? (ANNUL pour annuler la redirection)")
|
||||
if mail1 == "ANNUL":
|
||||
mail1 = None
|
||||
break
|
||||
try:
|
||||
validate_mail(mail1)
|
||||
except ValueError, e:
|
||||
print coul(e.message.encode('utf-8'), 'rouge')
|
||||
continue
|
||||
mail2 = prompt(u"Adresse mail (répéter) ?")
|
||||
if mail1 == mail2 and mail1:
|
||||
break
|
||||
if mail1:
|
||||
args += ',' + mail1
|
||||
self.services_to_restart('home', [ args ])
|
||||
|
||||
# Modif des droits ?
|
||||
|
@ -2269,7 +2253,7 @@ class Adherent(BaseProprietaire):
|
|||
if new == None:
|
||||
email = self._data.get('mail', [''])[0]
|
||||
if not '@' in email:
|
||||
return decode(email)+'@crans.org'
|
||||
return decode(email) + '@crans.org'
|
||||
else:
|
||||
return decode(email)
|
||||
|
||||
|
@ -2451,6 +2435,8 @@ class Adherent(BaseProprietaire):
|
|||
raise ValueError(u"Le solde d'un adhérent doit être nul pour supprimer son compte crans.")
|
||||
self._data['objectClass'] = ['adherent']
|
||||
|
||||
if not 'compte' in self.modifs:
|
||||
self.modifs['compte'] = "%s,%s" % (self.compte(), self.home())
|
||||
for c in [ 'uid', 'cn', 'shadowLastChange', 'shadowMax',
|
||||
'shadowWarning', 'loginShell', 'userPassword',
|
||||
'uidNumber', 'gidNumber', 'homeDirectory', 'gecos',
|
||||
|
@ -2567,7 +2553,7 @@ class Adherent(BaseProprietaire):
|
|||
|
||||
self._data['mail'] = ["%s@crans.org" % (login)]
|
||||
if not 'compte' in self.modifs:
|
||||
self.modifs.setdefault('compte', None)
|
||||
self.modifs.setdefault('compte', '')
|
||||
|
||||
# Création de l'alias canonique
|
||||
if self.nom() and self.prenom():
|
||||
|
@ -2904,7 +2890,7 @@ class Club(BaseProprietaire):
|
|||
self.lock('mail', login)
|
||||
|
||||
if not 'compte' in self.modifs:
|
||||
self.modifs.setdefault('compte', None)
|
||||
self.modifs.setdefault('compte', '')
|
||||
|
||||
self._data['objectClass'] = ['club', 'cransAccount', 'posixAccount', 'shadowAccount']
|
||||
self._data['uid'] = [ login ]
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue