[attributs] capitalisation correcte des droits/alias canonique
This commit is contained in:
parent
db0e6c6092
commit
222a2a9a4d
1 changed files with 25 additions and 22 deletions
47
attributs.py
47
attributs.py
|
@ -59,7 +59,7 @@ class Attr(object):
|
|||
optional = None
|
||||
conn = None
|
||||
|
||||
can_modify = ['nounou']
|
||||
can_modify = ['Nounou']
|
||||
"""La liste des droits qui suffisent à avoir le droit de modifier la valeur"""
|
||||
|
||||
def __init__(self, val, ldif, conn, ctxt_check):
|
||||
|
@ -184,7 +184,7 @@ class tel(Attr):
|
|||
singlevalue = True
|
||||
optional = False
|
||||
legend = u"Téléphone"
|
||||
can_modify = ["self", "nounou", "cableur"]
|
||||
can_modify = ["self", "Nounou", "Cableur"]
|
||||
|
||||
def parse_value(self, val, ldif):
|
||||
self.value = format_tel(val)
|
||||
|
@ -204,7 +204,7 @@ class yearAttr(intAttr):
|
|||
|
||||
class paiement(yearAttr):
|
||||
legend = u"Paiement"
|
||||
can_modify = ["cableur", "nounou", "tresorier"]
|
||||
can_modify = ["Cableur", "Nounou", "tresorier"]
|
||||
|
||||
class carteEtudiant(yearAttr):
|
||||
legend = u"Carte d'étudiant"
|
||||
|
@ -214,7 +214,7 @@ class mailAlias(Attr):
|
|||
singlevalue = False
|
||||
optional = True
|
||||
legend = u"Alias mail"
|
||||
can_modify = ["self", "cableur", "nounou"]
|
||||
can_modify = ["self", "Cableur", "Nounou"]
|
||||
|
||||
def parse_value(self, val, ldif):
|
||||
val = val.lower()
|
||||
|
@ -229,8 +229,8 @@ class canonicalAlias(Attr):
|
|||
legend = u"Alias mail canonique"
|
||||
|
||||
def parse_value(self, val, ldif):
|
||||
val = val.lower()
|
||||
if not re.match('[a-z][-_.0-9a-z]+', val):
|
||||
val = u".".join([ a.capitalize() for a in val.split(u'.', 1) ])
|
||||
if not re.match('[A-Za-z][-_.0-9A-Za-z]+', val):
|
||||
raise ValueError("Alias mail invalide (%s)" % val)
|
||||
self.value = val
|
||||
|
||||
|
@ -239,7 +239,7 @@ class etudes(Attr):
|
|||
singlevalue = False
|
||||
optional = False
|
||||
legend = u"Études"
|
||||
can_modify = ["self", "cableur", "nounou"]
|
||||
can_modify = ["self", "Cableur", "Nounou"]
|
||||
|
||||
def parse_value(self, val, ldif):
|
||||
# who cares
|
||||
|
@ -250,7 +250,7 @@ class chbre(Attr):
|
|||
singlevalue = True
|
||||
optional = False
|
||||
legend = u"Chambre sur le campus"
|
||||
can_modify = ["self", "cableur", "nounou"]
|
||||
can_modify = ["self", "Cableur", "Nounou"]
|
||||
|
||||
def parse_value(self, val, ldif):
|
||||
if val in (u"EXT", u"????"):
|
||||
|
@ -263,19 +263,22 @@ class droits(Attr):
|
|||
singlevalue = False
|
||||
optional = True
|
||||
legend = u"Droits sur les serveurs"
|
||||
can_modify = ["nounou", "bureau"]
|
||||
can_modify = ["Nounou", "Bureau"]
|
||||
|
||||
def parse_value(self, val, ldif):
|
||||
if val not in ['apprenti', 'nounou', 'cableur', 'tresorier', 'bureau',
|
||||
if val.lower() not in ['apprenti', 'nounou', 'cableur', 'tresorier', 'bureau',
|
||||
'webmaster', 'webradio', 'imprimeur', 'multimachines', 'victime']:
|
||||
raise ValueError("Ces droits n'existent pas ('%s')" % val)
|
||||
self.value = val
|
||||
if val.lower() == 'webmaster':
|
||||
self.value = u'WebMaster'
|
||||
else:
|
||||
self.value = val.capitalize()
|
||||
|
||||
class solde(Attr):
|
||||
singlevalue = True
|
||||
optional = True
|
||||
legend = u"Solde d'impression"
|
||||
can_modify = ["imprimeur", "nounou", "tresorier"]
|
||||
can_modify = ["imprimeur", "Nounou", "Tresorier"]
|
||||
|
||||
def parse_value(self, solde, ldif):
|
||||
# on évite les dépassements
|
||||
|
@ -297,7 +300,7 @@ class host(dnsAttr):
|
|||
singlevalue = True
|
||||
optional = False
|
||||
hname = legend = u"Nom d'hôte"
|
||||
can_modify = ["parent", "nounou", "cableur"]
|
||||
can_modify = ["parent", "Nounou", "Cableur"]
|
||||
|
||||
|
||||
class macAddress(Attr):
|
||||
|
@ -305,7 +308,7 @@ class macAddress(Attr):
|
|||
optional = False
|
||||
legend = u"Adresse physique de la carte réseau"
|
||||
hname = "Adresse MAC"
|
||||
can_modify = ["parent", "nounou", "cableur"]
|
||||
can_modify = ["parent", "Nounou", "Cableur"]
|
||||
|
||||
def parse_value(self, mac, ldif):
|
||||
self.value = format_mac(mac)
|
||||
|
@ -393,7 +396,7 @@ class prise(Attr):
|
|||
legend = u"Prise sur laquelle est branchée la machine"
|
||||
|
||||
def parse_value(self, prise, ldif):
|
||||
### Tu es une nounou, je te fais confiance
|
||||
### Tu es une Nounou, je te fais confiance
|
||||
self.value = prise
|
||||
|
||||
class cid(intAttr):
|
||||
|
@ -440,19 +443,19 @@ class info(Attr):
|
|||
singlevalue = False
|
||||
optional = True
|
||||
legend = u"Quelques informations"
|
||||
can_modify = ["nounou", "cableur", "bureau"]
|
||||
can_modify = ["Nounou", "Cableur", "Bureau"]
|
||||
|
||||
class homepageAlias(Attr):
|
||||
singlevalue = True
|
||||
optional = True
|
||||
legend = u'Un alias pour la page personnelle'
|
||||
can_modify = ["webmaster", "nounou", "cableur"]
|
||||
can_modify = ["WebMaster", "Nounou", "Cableur"]
|
||||
|
||||
class charteMA(Attr):
|
||||
singlevalue = True
|
||||
optional = True
|
||||
legend= "Signale si l'adhérent a signé la charte de membres actifs"
|
||||
can_modify = ["nounou", "bureau"]
|
||||
can_modify = ["Nounou", "Bureau"]
|
||||
|
||||
def parse_value(self, signed, ldif):
|
||||
if signed.upper() not in ["TRUE", "FALSE"]:
|
||||
|
@ -474,7 +477,7 @@ class loginShell(Attr):
|
|||
singlevalue = True
|
||||
optional = True
|
||||
legend = "Le shell de l'adherent"
|
||||
can_modify = ["self", "nounou", "cableur"]
|
||||
can_modify = ["self", "Nounou", "Cableur"]
|
||||
|
||||
def parse_value(self, shell, ldif):
|
||||
with open('/etc/shells') as f:
|
||||
|
@ -506,7 +509,7 @@ class mail(Attr):
|
|||
singlevalue = True
|
||||
optional = False
|
||||
legend = "Le mail de l'adhérent"
|
||||
can_modify = ["self", "nounou", "cableur"]
|
||||
can_modify = ["self", "Nounou", "Cableur"]
|
||||
|
||||
# XXX - to be implemented
|
||||
#def parse_value(self, mail, ldif):
|
||||
|
@ -523,12 +526,12 @@ class dn(Attr):
|
|||
class postalAddress(Attr):
|
||||
singlevalue = False
|
||||
optional = True
|
||||
can_modify = ["self", "cableur", "nounou", "bureau"]
|
||||
can_modify = ["self", "Cableur", "Nounou", "Bureau"]
|
||||
|
||||
class controle(Attr):
|
||||
singlevalue = True
|
||||
optional = False
|
||||
can_modify = ["tresorier", "nounou"]
|
||||
can_modify = ["Tresorier", "Nounou"]
|
||||
|
||||
def parse_value(self, ctrl, ldif):
|
||||
if ctrl not in [u"", u"c", u"p", u"cp", u"pc"]:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue