Ajout du champ homepageAlias.
darcs-hash:20060708154722-68412-7ed279f89235268100aea7ffd6109498d7d2cea1.gz
This commit is contained in:
parent
caf0124f67
commit
4cce15b794
1 changed files with 52 additions and 3 deletions
|
@ -271,7 +271,7 @@ class CransLdap:
|
||||||
['etudes', 'paiement', 'carteEtudiant', 'aid', 'postalAddress',
|
['etudes', 'paiement', 'carteEtudiant', 'aid', 'postalAddress',
|
||||||
'historique', 'blacklist', 'droits', 'uidNumber', 'uid', 'info',
|
'historique', 'blacklist', 'droits', 'uidNumber', 'uid', 'info',
|
||||||
'solde', 'controle', 'contourneGreylist', 'rewriteMailHeaders',
|
'solde', 'controle', 'contourneGreylist', 'rewriteMailHeaders',
|
||||||
'ablacklist'], \
|
'ablacklist', 'homepageAlias'], \
|
||||||
'club': \
|
'club': \
|
||||||
['cid', 'responsable', 'paiement', 'historique', 'blacklist',
|
['cid', 'responsable', 'paiement', 'historique', 'blacklist',
|
||||||
'mailAlias', 'info', 'controle', 'ablacklist'], \
|
'mailAlias', 'info', 'controle', 'ablacklist'], \
|
||||||
|
@ -1055,7 +1055,8 @@ class BaseClasseCrans(CransLdap):
|
||||||
# Formate les entrées de l'historique de la forme champ+diff-diff
|
# Formate les entrées de l'historique de la forme champ+diff-diff
|
||||||
for champ in ['droits', 'controle', 'paiement', 'carteEtudiant',
|
for champ in ['droits', 'controle', 'paiement', 'carteEtudiant',
|
||||||
'mailAlias', 'hostAlias', 'exempt', 'nvram',
|
'mailAlias', 'hostAlias', 'exempt', 'nvram',
|
||||||
'portTCPin', 'portTCPout', 'portUDPin', 'portUDPout']:
|
'portTCPin', 'portTCPout', 'portUDPin', 'portUDPout',
|
||||||
|
'homepageAlias']:
|
||||||
if champ in self.modifs:
|
if champ in self.modifs:
|
||||||
if champ == 'controle':
|
if champ == 'controle':
|
||||||
# Ce n'est pas pareil que self._init_data.get('controle', [''])
|
# Ce n'est pas pareil que self._init_data.get('controle', [''])
|
||||||
|
@ -1328,6 +1329,54 @@ class BaseProprietaire(BaseClasseCrans):
|
||||||
self._set('mailAlias', liste)
|
self._set('mailAlias', liste)
|
||||||
return liste
|
return liste
|
||||||
|
|
||||||
|
def homepageAlias(self, new=None):
|
||||||
|
"""
|
||||||
|
Creation ou visualisation des alias de page perso.
|
||||||
|
Meme systeme d'arguments que pour info.
|
||||||
|
"""
|
||||||
|
liste = self._data.get('homepageAlias', [])[:]
|
||||||
|
if new == None: return liste
|
||||||
|
|
||||||
|
def validate(alias):
|
||||||
|
alias = alias.lower()
|
||||||
|
if not sre.match(r"^[a-z0-9](\.?[-a-z0-9]+)*$", alias):
|
||||||
|
raise ValueError("Alias incorrect : %s" % alias)
|
||||||
|
if "." not in alias:
|
||||||
|
alias += ".perso.crans.org"
|
||||||
|
if alias.endswith(".crans.org") and not alias.endswith(".perso.crans.org"):
|
||||||
|
raise ValueError("Les alias crans doivent se terminer par .perso.crans.org")
|
||||||
|
# ...peut-etre faire une verification de domaine ici...
|
||||||
|
# On convertit en str (il ne devrait plus y avoir de caractere Unicode)
|
||||||
|
return str(alias)
|
||||||
|
|
||||||
|
if type(new) == list:
|
||||||
|
# Modif
|
||||||
|
index = new[0]
|
||||||
|
new = new[1]
|
||||||
|
if not new:
|
||||||
|
# Supression alias
|
||||||
|
liste.pop(index)
|
||||||
|
else:
|
||||||
|
# Modification alias
|
||||||
|
new = validate(new)
|
||||||
|
liste[index] = new
|
||||||
|
elif type(new) == str:
|
||||||
|
# Alias supplémentaire
|
||||||
|
if not new:
|
||||||
|
# On n'ajoute pas d'alias vide
|
||||||
|
return liste
|
||||||
|
# Ajout à la liste
|
||||||
|
new = validate(new)
|
||||||
|
liste.append(new)
|
||||||
|
else:
|
||||||
|
raise TypeError
|
||||||
|
|
||||||
|
# Lock de l'alias (a faire)
|
||||||
|
# self.lock('homepageAlias', new)
|
||||||
|
|
||||||
|
self._set('homepageAlias', liste)
|
||||||
|
return liste
|
||||||
|
|
||||||
def machines(self):
|
def machines(self):
|
||||||
""" Retourne les machines (instances) appartenant à la classe """
|
""" Retourne les machines (instances) appartenant à la classe """
|
||||||
# Le champ id n'est pas initialisé lorsque le proprio est en cours
|
# Le champ id n'est pas initialisé lorsque le proprio est en cours
|
||||||
|
@ -1887,7 +1936,7 @@ class Adherent(BaseProprietaire):
|
||||||
'shadowWarning', 'loginShell', 'userPassword',
|
'shadowWarning', 'loginShell', 'userPassword',
|
||||||
'uidNumber', 'gidNumber', 'homeDirectory', 'gecos',
|
'uidNumber', 'gidNumber', 'homeDirectory', 'gecos',
|
||||||
'droits', 'mailAlias', 'canonicalAlias',
|
'droits', 'mailAlias', 'canonicalAlias',
|
||||||
'rewriteMailHeaders', 'contourneGreylist' ]:
|
'rewriteMailHeaders', 'contourneGreylist', 'homepageAlias' ]:
|
||||||
try: self._data.pop(c)
|
try: self._data.pop(c)
|
||||||
except: pass
|
except: pass
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue