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