Commit graph

472 commits

Author SHA1 Message Date
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
Vincent Le Gallic
ec5de5834b On surcharge pas __repr__ comme des gros sales. 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
Pierre-Elliott Bécue
294f7ce949 [attributs] On rajoute du contexte 2013-05-15 22:35:43 +02:00
Pierre-Elliott Bécue
efdd7a5cbe [attributs] a, b = [a,b] mieux que a, b = [a,b][0], [a,b][1] 2013-05-15 16:48:18 +02:00
Pierre-Elliott Bécue
7c2db3dc98 [attributs] Les mails ne sont pas tous en @crans.* 2013-05-15 16:43:16 +02:00
Pierre-Elliott Bécue
89a43cc49a [attributs] mail est multivalué, etudes est optionnel, et solde peut être <0 2013-05-15 00:15:45 +02:00
Valentin Samir
d1c026166d [test] docstring 2013-05-15 00:13:54 +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
92c4dedfb3 [attributs] On affiche le nom de l'attribut quand on lève une SingleValueError 2013-05-14 23:31:48 +02:00