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'
|
||||
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
|
||||
def import_secrets():
|
||||
if not "/etc/crans/secrets/" in sys.path:
|
||||
|
@ -360,6 +365,18 @@ class CransLdapObject(object):
|
|||
return self.ofields + self.xfields + self.ufields + self.mfields
|
||||
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):
|
||||
"""Sauvegarde dans la base les modifications apportées à l'objet.
|
||||
Interne: Vérifie que self._modifs contient des valeurs correctes et
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue