Commit graph

539 commits

Author SHA1 Message Date
Valentin Samir
fd85efa178 [objets] Methode replace_id pour remplacer les rid, mid, xif, fid, aid et cie 2014-12-11 12:27:01 +01:00
Valentin Samir
9690a40a97 [__setitems__] check_uniqueness après pose des locks sur les nouvelles valeurs
sinon, il est possible d'avoir des valeurs non globalement unique
2014-12-11 12:03:47 +01:00
Valentin Samir
65207641ae DeprecationWarning: attrify ne devrait être appelé qu'avec des unicode 2014-12-10 16:32:53 +01:00
Daniel STAN
58f7861c19 services: ajout du service "filtrage"
… qui fait de la surveillance (sic)
2014-12-09 13:57:50 +01:00
Valentin Samir
1b47e03725 [objets] Compte crans et initialisation du solde 2014-12-02 20:14:49 +01:00
Valentin Samir
12e8103df7 [attributs] Suite pas d'AssertionError en comparant un generalizedTimeFormat avec autre chose qu'un unicode ou un generalizedTimeFormat 2014-12-02 20:14:06 +01:00
Valentin Samir
1c24cceb07 [attributs.certificat] Un %s dans la chaine de caractère 2014-12-02 17:49:49 +01:00
Valentin Samir
f64cda3711 [objets] Petits details sur history_gen 2014-12-02 17:40:34 +01:00
Valentin Samir
84cfaac84e [printing] blacklist est le nom d'une methode, on utilise blacklist_len comme paramètre pour sprint 2014-12-02 01:59:33 +01:00
Valentin Samir
63555140c5 [objets] En cas d'erreur lors du crédit d'une facture, on la propage 2014-12-02 01:58:55 +01:00
Valentin Samir
f4885baf4d [objets] Pour supprimer un proprio, il faut supprimer ses factures filles 2014-12-02 01:58:29 +01:00
Valentin Samir
08903ab187 [attributs] Pas d'AssertionError en comparant un generalizedTimeFormat avec autre chose qu'un unicode ou un generalizedTimeFormat 2014-12-02 01:57:48 +01:00
Valentin Samir
8372bf80b1 [shortcuts] Un cimetière de test par utilisateur
Pour être sûr d'avoir les droits d'écriture dedans
2014-11-23 20:28:05 +01:00
Valentin Samir
133966fd64 [objets] Méthodes .machines() .factures() .certificats() ne plantent pas si l'object ldap n'existe pas (encore). 2014-11-23 20:27:30 +01:00
Valentin Samir
ec8b7b5d50 [objets] carte_controle fonction pour dire si la carte étudiant a été controlé 2014-11-23 20:22:23 +01:00
Valentin Samir
1cd492f974 [templates] Dialogue-ization 2014-11-23 17:14:35 +01:00
Valentin Samir
d8bac8d47e Ajout de l'attribut __slots__ aux classes pour économiser de la ram 2014-11-22 22:01:42 +01:00
Valentin Samir
61bf832112 [test] utilisation de #!/bin/bash /usr/scripts/python.sh 2014-11-22 21:10:32 +01:00
Valentin Samir
e71686c9b2 [test.py] Quelques tests en plus 2014-11-22 20:51:02 +01:00
Valentin Samir
83b2e65a9d [attributs] On évite d'utiliser hasattr
Actuellement, ça retourne les attribut de self.value donc c'est confusionnant
2014-11-22 14:14:41 +01:00
Valentin Samir
8477760302 [attributs, objets] Une fonction pour générer automatiquement une ligne d'historique
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
2014-11-22 12:57:46 +01:00
Daniel STAN
f6fe2f78e5 Duplique liste des machines en cas de suppression 2014-11-11 00:07:19 +01:00
Valentin Samir
e97f857310 [ldap_locks] cast all the things ! python-ldap déteste l'unicode 2014-11-09 23:35:34 +01:00
Valentin Samir
294773ba6e [ldap_locks, lc_ldap] Ooups, erreur d'index / d'iteration 2014-11-09 16:50:48 +01:00
Valentin Samir
1b76ba5420 [ressucite] Recherche d'un nouveau rid si celui du cimetière a été repris 2014-11-09 16:50:11 +01:00
Valentin Samir
45c3f68635 [objets] Correction du retour en arrière du commmit 629310d3 sur ressucite
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).
2014-11-09 15:53:10 +01:00
Valentin Samir
629310d356 [objets, attributs] Vérification de l'absence de modif concurrente après acquisition du lock
et ajout de historique à concurrent=False
2014-11-09 01:36:57 +01:00
Valentin Samir
494cd42d83 [ldap_locks, objets] Juste avant d'écrire dans la base ldap, on vérifie les locks
ils existent toujours et n'ont pas expiré, sinon, il ne faut pas faire
l'enregistrement.
2014-11-08 18:14:12 +01:00
Valentin Samir
3a3d51e408 [attributs] methodes __add__ et __sub__ sur les floatAttr et intAttr 2014-11-08 17:46:24 +01:00
Valentin Samir
24721ddc98 [objets] Libération du lock en cas d'opération involutive sur un attribut non concurrent
Par exemple :
   adh['solde'][0]+=2 # acquisition du lock
   adh['solde'][0]-=2 # libération du lock
2014-11-08 17:40:24 +01:00
Valentin Samir
177134b6c9 [objets] oubli d'import de config.impression 2014-11-08 17:20:39 +01:00
Valentin Samir
c3ac740ca5 [attributs, objets] Des locks pour les attributs sensibles aux modifs concurentes
Pour le moment juste pour l'attribut solde
2014-11-08 17:10:22 +01:00
Pierre-Elliott Bécue
f4645a8a34 Quand on crée un objet, on permet un peu plus de débug si ça foire. 2014-11-05 01:55:16 +01:00
Pierre-Elliott Bécue
7a63c55851 Le mail_parsing dans attributs doit être minimal
* Le fait qu'un alias canonique soit Prenom.Nom@crans.org ou qu'un alias
 mail soit lowercase est un choix moral, pas une obligation de la syntaxe
 LDAP.
2014-11-05 01:54:01 +01:00
Pierre-Elliott Bécue
991a8efaa4 Gestion de l'encodage dans config. 2014-11-05 01:53:18 +01:00
Daniel STAN
2f469b4916 pas de mention explicite de annuaires_pg_test 2014-11-04 23:28:15 +01:00
Valentin Samir
fad66402da [objets] Des __repr__ plus jolis 2014-10-30 17:59:38 +01:00
Valentin Samir
ac5f2f17ae [objets, attributs] Ajout d'une classe objet inetOrgPerson
Parce que sinon, ça plante quand je récupère l'inetOrgPerson respbats dans
mon jouet fuse.
2014-10-30 17:57:34 +01:00
Daniel STAN
c29e92e3b8 mode debug: tout pointe vers lc_ldap_test 2014-10-29 13:15:44 +01:00
Pierre-Elliott Bécue
edcc74cff4 Mort aux trailing spaces. 2014-10-23 23:31:17 +02:00
Pierre-Elliott Bécue
21c427ff9b Meilleure gestion de sys.path et des imports.
* Ajout de /usr/scripts aux paths
 * Déplacement de templates.py dans un endroit logique pour printing
2014-10-15 00:08:53 +02:00
Daniel STAN
996950b6df get_mail:les clubs n'ont ni mail ni canonicalAlias 2014-09-28 15:52:47 +02:00
Pierre-Elliott Bécue
8892e90579 [printing/facture] Le calcul du prix d'un article nécessitait des parenthèses. 2014-09-25 00:52:23 +02:00
Vincent Le Gallic
b4bfe6cdc4 [attributs] Échec sur l'utilisation de isinstance 2014-09-22 02:04:14 +02:00
Pierre-Elliott Bécue
7ed1874d62 [lc_ldap] Corrections de bugs, et cohérence de code. 2014-09-22 00:21:54 +02:00
Daniel STAN
6d4d56db72 methode mail: adresse de contact d'un adh 2014-09-21 17:31:21 +02:00
Pierre-Elliott Bécue
50efa40d8c [printing] La liste des factures affiche maintenant la date du reçu. 2014-09-11 01:12:48 +02:00
Daniel STAN
c605009984 pas de sanity_check sur le wiki name 2014-09-10 23:43:23 +02:00
Pierre-Elliott Bécue
a42fa0188d Possibilité d'afficher plus ou moins de blacklistes et d'histo 2014-09-01 03:45:29 +02:00
Pierre-Elliott Bécue
8d9e2819ea [get_imprimeurs] Erreur plus verbeuse
* On file le cid, ça aide à faire le ménage.
2014-09-01 03:36:53 +02:00