Commit graph

134 commits

Author SHA1 Message Date
Pierre-Elliott Bécue
08cda773b0 proprio.__slots__ accueille une nouvelle variable 2015-09-06 19:56:02 +02:00
Pierre-Elliott Bécue
54a8d9c4cb On ne rafraîchit les factures au plus qu'une fois toutes les 5 sec 2015-09-06 19:30:16 +02:00
Pierre-Elliott Bécue
83ca2e7991 Fait en sorte que l'unicode sandwich soit respecté dans tout history_gen 2015-08-27 12:27:40 +02:00
Pierre-Elliott Bécue
55eb87dce9 history_gen ne respectait pas l'unicode sandwich 2015-08-27 02:16:49 +02:00
Pierre-Elliott Bécue
0fb2cf4416 Plus d'infos sur les doublons dans une base ldap 2015-08-27 01:44:55 +02:00
Pierre-Elliott Bécue
4a3434847e En mode bref affiche deux colonnes, une pour adhésion et une pour connexion. 2015-08-26 19:06:46 +02:00
Pierre-Elliott Bécue
1353f00e17 Fait prendre un peu d'air au code 2015-08-26 18:43:41 +02:00
Pierre-Elliott Bécue
12ba81e272 object.display est agnostique de ses arguments, qu'il forwarde à sprintf 2015-08-26 17:20:44 +02:00
Pierre-Elliott Bécue
ad8d9026f0 "Mettez des capot^Wespaces" 2015-08-25 02:38:12 +02:00
Pierre-Elliott Bécue
6142e6ef34 PEP8 pour la méthode total de facture 2015-08-24 21:03:06 +02:00
Pierre-Elliott Bécue
8f871ac166 Passe to_ldif en encodage de la base LDAP. 2015-08-23 14:28:39 +02:00
Pierre-Elliott Bécue
6c1dc6c587 repr ne retourne rien d'encodé 2015-08-23 14:01:56 +02:00
Pierre-Elliott Bécue
f988e962c9 Ajout de méthodes __unicode__ sur les objets 2015-08-18 04:16:02 +02:00
Daniel STAN
e46d1fe338 ajoute fin_connexion/adhesion_*datetime*
Parce que c'est plus facile à manipuler dans les templates.
2015-08-15 01:00:33 +02:00
Daniel STAN
5b66ae0095 /usr/scripts sans / final 2015-07-23 17:25:11 +02:00
Daniel STAN
f4318415e8 history_gen: garde login dans l'appel récursif 2015-07-23 16:29:56 +02:00
Pierre-Elliott Bécue
f0de8bd515 Supprime ce qui concerne la carte d'étudiant 2015-07-17 09:52:05 -06:00
Daniel STAN
f22c465070 get_mail: pour un club, contacte le respo 2015-06-15 22:45:36 +02:00
Pierre-Elliott Bécue
2b125377d0 _check_respo est plus complexe, il faut passer l'objet tout entier, pas son dn 2015-04-27 16:23:59 +02:00
Pierre-Elliott Bécue
7fe89abfe6 Les respos sont pris en compte dans les droits testés sur les attributs. 2015-04-27 16:13:22 +02:00
Pierre-Elliott Bécue
bfc91573fb Un club peut se modifier lui-même (pour l'instant, ensuite on verra) 2015-04-26 23:53:12 +02:00
Daniel STAN
9738d29d66 solde(): handle absence de solde
Et __float__ pour les attributs
2015-04-20 17:37:43 +02:00
Pierre-Elliott Bécue
666bd33085 Plus de frais dans les factures 2015-04-13 01:42:44 +02:00
Pierre-Elliott Bécue
9498e06024 On proprifie un peu get_mail 2015-04-13 01:41:51 +02:00
Daniel STAN
c80c222805 fusionne update_solde et solde (garde le dernier) 2015-04-03 13:55:16 +02:00
Pierre-Elliott Bécue
e1079463fc Les attributs autres que droits ne doivent pas être non-modifiables par "soi" par défaut.
* En gros, si on met "soi" dans can_modify, l'adh doit pouvoir changer
   seul ledit attribut. droits est la seule exception parce que le test
   qest différent.
2015-03-08 01:19:56 +01:00
Pierre-Elliott Bécue
8eae322ab1 Les clubs et les adhérents ne devraient pas avoir de méthodes différentes
* Les méthodes .clubs et .imprimeur_clubs ne sont utiles qu'aux objets
 adherent, mais leur existence fait que les connexions en tant que club
 sur l'intranet2 ne sont pas possible, car ces méthodes n'existent pas
 dans l'objet club. On met donc des méthodes qui renvoient des listes vides
 sur l'objet proprio et qui sont surchargées dans l'objet adherent.
2015-02-17 17:46:29 +01:00
Pierre-Elliott Bécue
a4042c9c3b Une fonction _id sur les objets pour rendre un peu plus facile leur gestion (bordel) 2015-02-14 14:35:23 +01:00
Pierre-Elliott Bécue
607a691a88 Quelques trucs qui traînent. 2015-02-14 14:14:39 +01:00
Pierre-Elliott Bécue
d0619adcf6 Quand mode='rw' mais que l'objet n'est pas modifiable, on fallback en ro 2015-02-14 14:12:48 +01:00
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
1b47e03725 [objets] Compte crans et initialisation du solde 2014-12-02 20:14:49 +01:00
Valentin Samir
f64cda3711 [objets] Petits details sur history_gen 2014-12-02 17:40:34 +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
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
d8bac8d47e Ajout de l'attribut __slots__ aux classes pour économiser de la ram 2014-11-22 22:01:42 +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
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
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
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