* En gros, si on met "soi" dans can_modify, l'adh doit pouvoir changer
seul ledit attribut. droits est la seule exception parce que le test
qest différent.
* Les méthodes .clubs et .imprimeur_clubs ne sont utiles qu'aux objets
adherent, mais leur existence fait que les connexions en tant que club
sur l'intranet2 ne sont pas possible, car ces méthodes n'existent pas
dans l'objet club. On met donc des méthodes qui renvoient des listes vides
sur l'objet proprio et qui sont surchargées dans l'objet adherent.
Elle s'appelle history_gen.
Il faut l'appeler explicitement pour le moment, pour éviter de mettre des lignes
en double vu que jusqu'à maintenant, historique était fait à la main.
Il y a 4 niveaux d'historique pour les attributs :
* full on loggue toutes les modifications
pour un singlevalue : nom (Durant -> Dupond")
pour les autres : mailAlias+toto@free.fr-titi@orange.com
* partial, comme full sauf qu'on limite la longeur de chaque valeur d'attribut
à au plus 15 caractères
* info, on signalute juste que l'attribut attribut a été créer, supprimer ou modifier:
* None, on n'ajoute pas de ligne (par exemple pour l'historique lui même, on le loggue pas
ses modifications)
Ajoutez en d'autre si vous pensez à des trucs cools
On vérifier que l'objet de la base ldap n'avait pas été modifier entre le moment
où on l'a récupéré etle moment où on acquière le lock. Bien sûr si l'objet n'existe pas
dans la base ldap, il n'y a pas de problème.
Dans le cas où on ressucieterai un objet qui existe déjà dans la base ldap,
ça planterait sans doute. M'enfin, ce cas doit être extrèmement rare compte tenu
du fait que les aid et mid sont croissant (mais hélas, pas strictement).
* self._modifs = self.attrs met les deux AttrsDict dans le même état,
ce qui fait qu'une modif de l'un se répercute sur l'autre.
* On en profite pour créer une fonction .cancel
L'idée étant d'essayer d'avoir un fonction 'crediter' qui va éditier le solde de sont parent
puis sauvegarder/creer la facture de la fonçon la plus atomique possible.
Il faudarait voir s'il y a quelque chose de plus propre pour rendre tout ça un peu plus
atomique
La méthode est apprlé dès que attrs et _modis sont instancié et avant les vérifications
sur la correction des attributs.
Cela permet d'utiliser des objet "Auxilière" dans ldap plus facilement.
On peut générer/ajouter des clefs privées via gest_crans_lc. Elles sont forcément chiffré avec une
passphrase. Pour les machines crans, elle est dans /etc/crans/secrets. Pour les autres machines
elle n'est pas connue du crans et demandée à l'utilisateur lorsqu'il y a besoin de la clef privée
pour des opérations.
Du coup, on peut générer des csr automatiquement dans gest_crans_lc, ça m'a l'air bien pratique,
ça évite d'oublier des subjectAltName par exemple quand on renouvel le certificat comme les
nom du certificat sont également dans ldap.
On peut aussi, juste avec une requête ldap voir quels sont les certificats qui vont bientôt
expirer (&(objectClass=x509Cert)(end<int(time.time())+delai)).