Pierre-Elliott Bécue
60ded9f830
[global] Passage à tout unicode et quelques corrections mineures.
...
* Typos
* Docstrings unicode
* Erreurs unicode
* Ajout de _post_delete et _post_create
* ?
2013-05-27 23:26:53 +02:00
Vincent Le Gallic
645b931736
Tout ce dont on a besoin c'est du current_login. On fait confiance aux gens qui ont le mdp LDAP pour fourni le bon username.
2013-05-16 17:03:06 +02:00
Vincent Le Gallic
db7d41d967
Split de lc_ldap.py en lc_ldap.py et objets.py + création du wrapper shortcuts.py
...
Ça permet de faire les choses sales du genre os.getenv("SUDO_USER") ou import_secrets
dans le wrapper et pas dans le binding même.
2013-05-16 07:00:47 +02:00
Vincent Le Gallic
a620f5b5e9
On vire le kludge qui récupère le login dans la variable d'environnement.
...
C'est plus le rôle d'un wrapper (à venir) que du binding itself.
2013-05-16 03:53:00 +02:00
Pierre-Elliott Bécue
3663d877cc
[lc_ldap/test] fil-adherents -> /dev/null
2013-05-16 03:01:11 +02:00
Vincent Le Gallic
a6c5f66aee
On ne save/ressuscite pas le Cr@ns.
2013-05-16 02:45:44 +02:00
Vincent Le Gallic
debaa31bf3
On place la fonction escape dans crans_utils
2013-05-16 01:35:58 +02:00
Vincent Le Gallic
c392a2a986
On utilise un champ ldap_name pour savoir quelle classe doit être utilisée pour instancier quel objet/attribut LDAP.
...
Et comme ça on fiche à la poubelle le dégueulasse globals() et on décorrelle les noms
des classes des noms LDAP.
2013-05-15 23:00:17 +02:00
Valentin Samir
90ec85b1a2
[lc_ldap] Les fichiers dans le cimetière sont plus facile à manipuler sans espace
2013-05-14 23:47:07 +02:00
Valentin Samir
22ba5c1d38
[lc_ldap] Ajout de attributs.loginShell pour cransAccount
2013-05-14 23:30:50 +02:00
Valentin Samir
75839564e5
[lc_ldap] des modes sur allMachinesAdherents
2013-05-14 23:28:39 +02:00
Valentin Samir
ac19266cbf
[lc_ldap] dn invité
2013-05-14 18:01:07 +02:00
Valentin Samir
cc0f6e0a91
Antagonisme entre un attribut et sa valeur textuelle
2013-05-14 18:00:00 +02:00
Valentin Samir
1d61048828
[lc_ldap, services] On ajoute ce qui faut à la base de service pour que generete régénère la conf
...
C'est un début, ça vise surtout à être compatible avec ce qui est existant.
2013-05-10 01:39:03 +02:00
Valentin Samir
bec801fbea
[lc_ldap] Petit problème de dépendance cyclique
...
Lors de la création d'un nouvel objets :
* On à besoin des attributs pour le créer
* On a besoin de l'objet pour créer ses attributs
(si on veux faire la vérification commentée)
À priori, c'est juste temporaire.
2013-05-08 04:07:55 +02:00
Valentin Samir
0fb3c19242
[lc_ldap] Tests d'unicités avant de ressuciter, à affiner.
2013-05-08 04:06:46 +02:00
Valentin Samir
68ba8ebd9f
[attributs, lc_ldap] Gros hack sale. Ça serait peut être mieux d'avoir des unicodes vraiment partout.
2013-05-08 04:05:42 +02:00
Valentin Samir
4d550e734b
[lc_ldap, attributs] Oublis
2013-05-08 04:05:04 +02:00
Pierre-Elliott Bécue
215f01c281
[lc_ldap] Easter egg
2013-05-08 02:22:09 +02:00
Pierre-Elliott Bécue
0cee8dbcb6
[lc_ldap] bury devient méthode à part entière (ça pourrait servir), delete est fragmentée
...
* Par défaut, on préfère que le binding crashe si des enfants d'un adhérent ne sont pas
des machines et ne sont pas gérés par le binding que de les détruire
* objet.delete ne permet donc par défaut que de détruire l'objet, et pour proprio, on
surcharge pour détruire les machines
2013-05-08 02:20:03 +02:00
Pierre-Elliott Bécue
b5a6062c44
[lc_ldap] Changement de protocole dans la création des objets
...
* _create_entity a été changée pour récupérer des dicos de valeurs encodées,
on adapte les méthodes new* en virant les uldifs, et en rendant l'historique
non unicode.
* Ipsec est facultatif, donc on le crée après avoir instancié la machine, que
l'on souhaite instancier le plus tôt possible, et on en laisse la gestion
à attributs, pour le parsage etc
2013-05-08 02:18:13 +02:00
Valentin Samir
3b09c98c5b
Merge branch 'master' of charybde.crans.org:/git/ldap
2013-05-08 01:15:57 +02:00
Valentin Samir
c5cbac5468
[lc_ldap] Methode pour supprimer un objet et le ressuciter
...
le cimetière est dans /home/cimetiere_lc/
ressucite prend le path du fichier contenant l'object à ressuciter
2013-05-08 01:14:30 +02:00
Valentin Samir
70fbc96d9d
[lc_ldap] Certain attributs n'appartiennent à adherent que s'il est un cransAccount
2013-05-08 01:13:39 +02:00
Pierre-Elliott Bécue
af109e8c61
[lc_ldap] attrify ne reçoit plus de ldif, donc _create_entity doit changer
...
On en profite pour virer ldif_to_cldif, et pour donner une fonction
.items à AttrsDict
2013-05-05 10:45:15 +02:00
Pierre-Elliott Bécue
a7d3af3ca1
[lc_ldap/attributs] ns1.crans.ens-cachan.fr n'était pas un nom d'hôte valide.
2013-05-05 05:41:36 +02:00
Valentin Samir
5942ee143c
[lc_ldap] Création de machines : ipsec si machine wifi, ajout d'une ligne d'historique
2013-05-02 17:55:54 +02:00
Valentin Samir
c727420624
[lc_ldap] Ordre des arguments de attrify
...
On remarquera que là, ce n'est pas l'objet (propritaire de l'attribut)
qui est passé à attrify mais le ldif de l'objets. La raison est que
lors de la création d'un objets celui-ci n'existe pas encore et que l'on
a cependant besoin d'informations contenue dans le ldif.
Pour le moment la substitution semble parfaitement transparente.
2013-05-02 17:52:11 +02:00
Vincent Le Gallic
d27d617946
merge commit
2013-04-15 16:51:33 +02:00
Pierre-Elliott Bécue
7bc1f4daaa
[lc_ldap/attributs] On rajoute quelques attributs du schéma non implémentés
2013-04-15 16:10:39 +02:00
Pierre-Elliott Bécue
e5f91d8567
[lc_ldap] Certains objets n'ont pas tous les attributs qu'ils devraient avoir.
2013-04-15 01:53:11 +02:00
Valentin Samir
771419d932
[lc_ldap] Ajout d'un wrapper pour se connecter à la base en readonly
2013-04-10 10:56:19 +02:00
Valentin Samir
d8c8e55909
[lc_ldap] Ajout d'une méthode pour affectuer une ipv4 à une machine wifi si elle n'est pas pas déjà une.
2013-04-10 10:54:42 +02:00
Valentin Samir
f88b6ec688
[lc_ldap] Il arrive d'ajouter des attributs à un objets qui n'existe pas encore, par exemple pour les attributs optionnels,
...
il faut voir ce que ça implique vis ç vis du test d'unicité
2013-04-10 10:53:23 +02:00
Valentin Samir
ad448a12a1
[lc_ldap] check_ctxt a vraiement été supprimé
2013-04-10 10:52:45 +02:00
Pierre-Elliott Bécue
182642d30e
[lc_ldap] Ici aussi ctxt_check a été droppé.
2013-04-08 13:05:05 +02:00
Valentin Samir
8fd228f6bd
[lc_ldap] ctxt_check a été jeté
2013-04-08 12:34:11 +02:00
Pierre-Elliott Bécue
8ce84e7589
[lc_ldap] create et save vérifient que les attributs non optionnels sont fournis
2013-04-08 00:14:14 +02:00
Pierre-Elliott Bécue
180c17baed
[global] On jette ctxt_check, et les ldifs qui traînent partout, qu'on remplace.
...
* Les ldifs sont remplacés par un pointeur vers l'objet propriétaire des attributs
* Le test de cardinalité est fait lors du setitem dans AttrsDict
* Le test d'unicité dans le setitem d'un CransLdapObject.
Le setitem vérifie également qu'on affecte pas des attributs non désirés à un objet
2013-04-08 00:12:00 +02:00
Pierre-Elliott Bécue
93d5a11d66
[lc_ldap] On vérifie désormais que $dude peut modifier les attributs.
...
Les principales modifs touchent __setitem__, il faut voir s'il n'y a pas mieux
pour les histoires de cardinalité, quitte à réécrire des choses. Par ailleurs,
j'ai l'impression que le test sur les attributs nécessaires/optionnels
ne sert à rien, il faut voir comment on veut gérer ça.
2013-04-03 02:51:46 +02:00
Pierre-Elliott Bécue
b565cc51e5
[lc_ldap] On interdit la modification d'objets comme les machines
...
Crans aux câbleurs par exemple.
2013-04-02 03:22:45 +02:00
Pierre-Elliott Bécue
90a0b565cc
[lc_ldap] Quitte à faire du lazy attrify, autant le faire partout,
...
pour avoir une certaine homogénéité dans le code.
2013-04-01 23:13:32 +02:00
Valentin Samir
b957a41cd7
On n'oublie de retourner aussi les valeurs déjà attrifiées
2013-04-01 23:07:23 +02:00
Valentin Samir
0c0338719c
On attrify également lorsque la valeur est appelé avec .get(...)
2013-04-01 22:32:36 +02:00
Valentin Samir
db32b1d65a
On ajoute de la paresse dans la transformation des attributs ldap en attributs python.
...
Cela permets d'économiser de la mémoire lorsque l'on manipule un nombre important d'objet
2013-04-01 22:17:27 +02:00
Vincent Le Gallic
102eb1bbd8
[modif non commitées] lc_ldap_tests est un vieux test qui ne sert plus à rien
2013-03-22 13:50:46 +01:00
Olivier Iffrig
ec40333e10
Formatage Sphinx d'une partie des docstrings
...
Modifs non commitées qui traînaient dans ma copie, histoire d'éviter les conflits...
2013-03-07 18:46:09 +01:00
Pierre-Elliott Bécue
b72d61108f
[lc_ldap] On laisse lc_ldap_local dans l'état initial, vu que maintenant j'ai réglé les problèmes de temps d'accès aux imprimeurs club.
2013-03-05 17:10:09 +01:00
Pierre-Elliott Bécue
dfed1fceb2
[attributs] Les imprimeurs et les respos des clubs sont générés à la volée
...
Leur valeur sont un property au lieu d'une valeur fixe.
2013-03-05 16:55:21 +01:00
Pierre-Elliott Bécue
174bd87524
[lc_ldap] ob.__class__.__name__ ne retournait pas ce qu'on m'avait dit qu'il retournait...
2013-03-04 07:29:49 +01:00