Ajout de la méthode history_add pour ajouter des lignes dans l'historique
This commit is contained in:
parent
c6f49d83aa
commit
1d48d08b18
1 changed files with 17 additions and 0 deletions
17
lc_ldap.py
17
lc_ldap.py
|
@ -48,6 +48,11 @@ uri = 'ldap://ldap.adm.crans.org/'
|
||||||
base_dn = 'ou=data,dc=crans,dc=org'
|
base_dn = 'ou=data,dc=crans,dc=org'
|
||||||
log_dn = "cn=log"
|
log_dn = "cn=log"
|
||||||
|
|
||||||
|
# Pour enregistrer dans l'historique, on a besoin de savoir qui exécute le script
|
||||||
|
# Si le script a été exécuté via un sudo, la variable SUDO_USER (l'utilisateur qui a effectué le sudo)
|
||||||
|
# est plus pertinente que USER (qui sera root)
|
||||||
|
current_user = os.getenv("SUDO_USER") or os.getenv("USER")
|
||||||
|
|
||||||
# Quand on a besoin du fichier de secrets
|
# Quand on a besoin du fichier de secrets
|
||||||
def import_secrets():
|
def import_secrets():
|
||||||
if not "/etc/crans/secrets/" in sys.path:
|
if not "/etc/crans/secrets/" in sys.path:
|
||||||
|
@ -360,6 +365,18 @@ class CransLdapObject(object):
|
||||||
return self.ofields + self.xfields + self.ufields + self.mfields
|
return self.ofields + self.xfields + self.ufields + self.mfields
|
||||||
fields = property(_get_fields)
|
fields = property(_get_fields)
|
||||||
|
|
||||||
|
def history_add(self, login, chain):
|
||||||
|
"""Ajoute une ligne à l'historique de l'objet.
|
||||||
|
###ATTENTION : C'est un kludge pour pouvoir continuer à faire "comme avant",
|
||||||
|
### mais on devrait tout recoder pour utiliser l'historique LDAP"""
|
||||||
|
assert isinstance(login, str) or isinstance(login, unicode)
|
||||||
|
assert isinstance(chain, unicode)
|
||||||
|
|
||||||
|
new_line = u"%s, %s : %s" % (time.strftime("%d/%m/%Y %H:%M"), login, chain)
|
||||||
|
# Attention, le __setitem__ est surchargé, mais pas .append sur l'historique
|
||||||
|
self["historique"] = self["historique"] + [new_line]
|
||||||
|
|
||||||
|
|
||||||
def save(self):
|
def save(self):
|
||||||
"""Sauvegarde dans la base les modifications apportées à l'objet.
|
"""Sauvegarde dans la base les modifications apportées à l'objet.
|
||||||
Interne: Vérifie que self._modifs contient des valeurs correctes et
|
Interne: Vérifie que self._modifs contient des valeurs correctes et
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue