Daniel STAN
55dadbd693
autorise modif nom,prenom by soi
...
En attendant discussion en CA si besoin est.
2015-03-20 12:50:22 +01:00
Pierre-Elliott Bécue
bfff595251
Vérification qu'un mailAlias est @crans.org
2015-03-15 19:33:19 +01: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
f910c550ed
Putain mais faut vraiment que j'arrête de patcher à la hache (et dropper services.py)
2015-03-07 09:59:46 +01:00
Pierre-Elliott Bécue
8289633a8f
Unhashable type list.
2015-03-07 09:56:51 +01:00
Pierre-Elliott Bécue
afe60843e7
Il ne faut modifier le home que s'il n'y a vraiment eu un changement.
2015-03-07 09:52:44 +01:00
Pierre-Elliott Bécue
3b8817c8de
objectClass, avec un C majuscule à classe.
2015-03-07 09:44:31 +01:00
Pierre-Elliott Bécue
519293602b
Sercice home à jour.
2015-03-07 01:07:55 +01:00
Pierre-Elliott Bécue
54510faa56
userPassword n'est pas monovalué.
2015-02-27 10:42:32 +01:00
Pierre-Elliott Bécue
9d89a0df5e
Optimisation de GTF <-> datetime en virant sgn.
2015-02-23 15:22:45 +01:00
Pierre-Elliott Bécue
fb542de099
Ajout de fonctions generalizedTimeFormat <-> datetime
2015-02-23 15:13:40 +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
0c79b6db2a
Commit identité.
2015-02-15 18:29:54 +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
83a618de07
On gère le fait qu'une machine puisse ne pas avoir de rid.
2015-02-14 14:23:26 +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
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