Commit graph

332 commits

Author SHA1 Message Date
Valentin Samir
c0054a070c [cimetiere] Le module cimetiere est stateless et ne dépend pas d'une connection ldap
On ajoute une fonction ppour chercher dans le cimetière à la classe lc_ldap : gravedig
2013-11-18 00:44:48 +01:00
Valentin Samir
2a6f5d6a9a [services] Redémarrage des services object lors de la creation ou suppression d'un objet
À contrario des services attributs dépendant qui eux marchait déjà très bien,
je pense donc à del_user, home, et mail_bienvenue
2013-11-18 00:42:39 +01:00
Valentin Samir
10f9ce666d [cimetiere] La fonction find permet de chercher dans le cimetière.
Elle renvoie une liste d'objet lc_ldap où il n'y a qu'à appeler .create() pour les
ressucité effectivement, modulo problème d'unicité d'attribut, qu'il suffit alors de
modifier directement sur l'object lc_ldap (au besoin, en mettant une valeur par defaut).
2013-11-17 20:23:29 +01:00
Valentin Samir
007bfeb54e [ressucite] On donne un nouvel id si l'id est déjà pris et on vérifie l'unicité seulement au moment d'enregistrer l'objet
par id j'entends aid, cid, fid, mid, tout ce que apparait dans un dn et qu'on ne
peut normalement par modifier tout seul après.
2013-11-17 20:22:07 +01:00
Valentin Samir
aa573c3c35 [filter] Fonction pour récupérer une structure de donnée manipulable en python 2013-11-17 20:20:57 +01:00
Valentin Samir
cb4ac3ca18 D'autre façons de fournir human_to_ldap pour les filtres de recherches 2013-11-17 16:39:35 +01:00
Valentin Samir
731ee0221b [object] Import devenu inutile 2013-11-10 16:40:52 +01:00
Valentin Samir
85838af072 Purge locks sur modifications : erreur plus parlante 2013-11-10 16:40:28 +01:00
Valentin Samir
33eb782004 [ldap_locks] Pas de iteritems sur un dict que l'on modifie durant l'iteration.
On utilise plutôt items()
2013-10-23 16:54:11 +02:00
Valentin Samir
8ecd689289 [create] On libère les locks dans tous les cas, en particulier si une erreur est levée 2013-10-23 16:38:41 +02:00
Daniel STAN
8431e2d19a [shortcuts] decorateur contre les déco serveur 2013-10-11 23:32:32 +02:00
Valentin Samir
ba3898f26d [attributs, objets, lc_ldap] Création de factures 2013-10-11 18:46:26 +02:00
Valentin Samir
f7036290d5 [object] Blacklist virtuelle pour les gens non à jour du paiement 2013-10-08 10:17:56 +02:00
Daniel STAN
f199947a5d clubs: regex moins chiante sur les noms 2013-10-07 01:02:47 +02:00
Pierre-Elliott Bécue
3cbbb2303f [ldap_locks] (item, subdict) in dict.keys() ? Nope 2013-09-27 10:01:21 +02:00
Pierre-Elliott Bécue
52fc541781 [On isole les locks de lc_ldap de ceux de ldap_crans] 2013-09-26 23:22:44 +02:00
Valentin Samir
4af481aeef host est unique et check_uniqness a la creation 2013-08-26 13:33:51 +02:00
Valentin Samir
c38d693d76 [attributs] Valeur par defaut pour ip et mdp wifi 2013-08-26 13:33:24 +02:00
Valentin Samir
625a1dbf94 [lc_ldap] paiement_ok même en periode transitoire avec bl_carte_et_definitif à True 2013-08-23 14:04:07 +02:00
Valentin Samir
9eb1a76851 [lc_ldap] ressucite -_o 2013-08-20 17:49:48 +02:00
Pierre-Elliott Bécue
aeb1a8086f [objets.py] OK, I WILL EXPLAIN, DUDE !
* Quelques commentaires sur mon workaround pour les attributs liés.
2013-08-03 18:10:37 +02:00
Daniel STAN
4fbd45b66c [objects] check_changes renvoie toujours
comme mon estomac
2013-07-16 20:11:30 +02:00
Pierre-Elliott Bécue
c2968c6b15 [lc_ldap] On met en place un système de propagation de certaines modifications.
* Quand on modifie un attribut qui devrait en modifier d'autres, on peut
 invoquer check_changes pour voir ce qui devrait être changé, puis
 validate_changes pour rendre ces changements effectifs. Il ne reste plus
 qu'à appeler save pour enregistrer le tout.
 * Correction de petits problèmes sur les locks : quand save réussissait,
 ils n'étaient pas virés.
2013-07-04 02:06:13 +02:00
Valentin Samir
9540bc572c Search by unicode 2013-07-02 14:42:59 +02:00
Pierre-Elliott Bécue
e18e5222b7 [Oops] J'ai oublié de commiter un de mes débugs. 2013-06-13 20:34:59 +02:00
Valentin Samir
80929daddd [lc_ldap] search by unicode string 2013-06-13 00:52:54 +02:00
Valentin Samir
57944ade6f [services] Si un dhcp n'est pas joignable, ça n'est pas grâve 2013-06-11 11:34:40 +02:00
Daniel STAN
2bf07035ab [historique.get_datetime] inversion des args
args !
2013-06-06 00:46:11 +02:00
Daniel STAN
66be47e496 [attributs] méthode de conversion en datetime
Parce que ça fait plusieurs fois que j'en ai besoin donc je pense que ça sera
handy !
2013-06-06 00:22:14 +02:00
Valentin Samir
00a8e001e1 [proprio.__init__] On ne prend plus de liste de machines à l'initialisation
Ça n'est pas utilisé, et je ne sais pas pourquoi, mais ça initialise
self._machine avec objets.machine au lieu de None du coup, je le retire.
Je fais de même pour self._clubs et self._imprimeur_clubs par
homogénéité.
2013-06-03 17:52:47 +02:00
Valentin Samir
f069ead1ea [objets] Ajout de methodes à adherent pour récupérer les clubs dont il est responsable ou imprimeur
On en profite pour corriger la methode analogue dans proprio pour machine :
On initialise bien la valeur interne par None et pas par une liste vide.
En effet, il est possible que l'adherent possède 0 machines et alors
il n'est pas utile de récupérer ses machines si self._machines vaut []
2013-06-03 16:53:54 +02:00
Pierre-Elliott Bécue
616acdbb7a [global] On diminue le risque de lock résiduel, et on corrige une faille des fonctions new[A-Z]*
* En cas d'erreur au create ou au save, on supprime les locks malgré tout
    * Les fonctions new* modifiaient directement le dico qu'on leur passait en
    argument, on fait désormais une copie de celui-ci, de façon à ce que test.py
    n'instancie pas toujours le même objet en croyant instancier des objets
    différents à chaque fois
    * Cela permet de trouver une typo dans services.py
    * crans_utils a été un peu corrigé.
2013-05-30 18:44:15 +02:00
Pierre-Elliott Bécue
e0bce3f7d3 [test.py] Typo 2013-05-30 15:23:59 +02:00
Pierre-Elliott Bécue
d6efff30de [ldap_locks] Mise en place des locks. Cf commentaires pour les détails.
* Malheureusement lc_ldap._create_entity et objet.create sont un peu
 sales, mais j'ai pas trouvé mieux.
 * L'historique contient désormais les secondes.
2013-05-30 15:22:11 +02:00
Pierre-Elliott Bécue
17efae121c [lc_ldap] Putain de merge conflict à la con bis. 2013-05-30 03:05:02 +02:00
Pierre-Elliott Bécue
48c8e7d603 [lc_ldap] Putain de merge conflict à la con que j'ai mal résolu. 2013-05-30 01:36:56 +02:00
Pierre-Elliott Bécue
cd75ed7bd4 [global/rid] Commit associé à http://git.crans.org/?p=usr-scripts.git;a=commit;h=a442fd6b22c400800e7c5bd870e83e4027a1d76f
* Maintenant, on va pouvoir identifier formellement les machines v6-only et les autres, sans perdre
 la possibilité de passer de l'une à l'autre rapidement (avec les changements qui vont bien)
2013-05-30 01:20:49 +02:00
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
Valentin Samir
b2abbef3b4 [shortcuts] En local on se connecte toujours avec les ids readonly 2013-05-26 15:35:33 +02:00
Valentin Samir
db9bf4540f [services] Modifs de dydhcp, cf usr-scripts:9a5294c7ee60c1e9d439f1903a1dcda5b5322d41 2013-05-26 15:34:09 +02:00
Valentin Samir
8f4a7df242 [test] Soyons fin sur --fast, cf a620f5b5e9 2013-05-21 15:52:06 +02:00
Vincent Le Gallic
22f8d63c0e Déplacement de services_dn avec les autres variables. 2013-05-16 19:50:03 +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
Pierre-Elliott Bécue
51fcb73eec [shortcuts] On oublie le binding en tant qu'user. 2013-05-16 15:19:57 +02:00
Pierre-Elliott Bécue
2877b9daaf [objects] Erreur qui s'est glissée là lors du passage de lc_ldap à objects 2013-05-16 15:18:58 +02:00
Vincent Le Gallic
e1a3a2f188 [shortcuts] (*args, **kwargs) aussi pour lc_ldap_admin 2013-05-16 07:28:45 +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