Commit graph

110 commits

Author SHA1 Message Date
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
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
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
a42fa0188d Possibilité d'afficher plus ou moins de blacklistes et d'histo 2014-09-01 03:45:29 +02:00
Pierre-Elliott Bécue
3fdb4b1936 Adh glissantes : on vérifie que le recuPaiement est fourni 2014-08-29 02:42:08 +02:00
Pierre-Elliott Bécue
50f91c63e0 Correctifs sur les adhésions glissantes. 2014-08-25 19:17:10 +02:00
Pierre-Elliott Bécue
7f1ffbeed5 Passage aux adhésions glissantes (partie 2/2, lc_ldap) 2014-08-15 20:27:47 +02:00
Pierre-Elliott Bécue
e47641e756 [objets] Sémantique de carteEtudiant non respectée 2014-08-15 03:30:02 +02:00
Pierre-Elliott Bécue
d66c12c013 [lc_ldap] Adaptations suite aux modifs du schéma et bugfixes 2014-08-15 01:13:04 +02:00
Pierre-Elliott Bécue
aa1c77ce60 [objets] Un peu plus de clarté sur le repr d'un adhérent, et sur __setitem__ 2014-04-14 03:23:47 +02:00
Pierre-Elliott Bécue
c41aac0de0 [objets] Bug en cas d'annulation
* self._modifs = self.attrs met les deux AttrsDict dans le même état,
 ce qui fait qu'une modif de l'un se répercute sur l'autre.
 * On en profite pour créer une fonction .cancel
2014-04-14 03:21:56 +02:00
Pierre-Elliott Bécue
35f9c36461 [lc_ldap/clubs] La mise en place des clubs dans l'intranet a été faite trop tôt.
* Aucun système de droit permettant au responsable de modifier club/machines de club
 n'avait été mis en place. C'est corrigé.
2014-04-03 17:30:09 +02:00
Valentin Samir
13200e9a74 [objets/facture] Factures éditables via lc_ldap modulo l'édition du solde de sont propriétaire
L'idée étant d'essayer d'avoir un fonction 'crediter' qui va éditier le solde de sont parent
puis sauvegarder/creer la facture de la fonçon la plus atomique possible.
Il faudarait voir s'il y a quelque chose de plus propre pour rendre tout ça un peu plus
atomique
2014-03-23 20:38:06 +01:00
Valentin Samir
a925f14036 [objets] Fonction pour tester l'existance de l'objet dans la base ldap
En l'utilisant, on pourait peut être fusionner les fonction save et create ?
2014-03-23 20:37:18 +01:00
Valentin Samir
8171455f4b [objets] Utilisation de self[] au lieu de self.attrs[] 2014-03-21 09:18:47 +01:00
Valentin Samir
560f9a2694 [objets] Ajout d'attributs à supprimer lors de la suppression d'un compte crans 2014-03-21 09:18:08 +01:00
Valentin Samir
ed3b43073c [objets] Méthode pour donner les droits de l'utilisateur courrant un cransLdapObject
On en profite pour simplifier les appels à may_be
2014-03-21 09:12:31 +01:00
Valentin Samir
8a6e93a38a [objets] Methode pour mettre à jour la liste attribs des attributs possible de l'objets
La méthode est apprlé dès que attrs et _modis sont instancié et avant les vérifications
sur la correction des attributs.
Cela permet d'utiliser des objet "Auxilière" dans ldap plus facilement.
2014-03-18 22:47:35 +01:00
Valentin Samir
72e35bcb32 [attributs, crans_utils, objets] Ajout d'attributs encrypted, privatekey, csr et objectClass privateKey
On peut générer/ajouter des clefs privées via gest_crans_lc. Elles sont forcément chiffré avec une
passphrase. Pour les machines crans, elle est dans /etc/crans/secrets. Pour les autres machines
elle n'est pas connue du crans et demandée à l'utilisateur lorsqu'il y a besoin de la clef privée
pour des opérations.
Du coup, on peut générer des csr automatiquement dans gest_crans_lc, ça m'a l'air bien pratique,
ça évite d'oublier des subjectAltName par exemple quand on renouvel le certificat comme les
nom du certificat sont également dans ldap.
On peut aussi, juste avec une requête ldap voir quels sont les certificats qui vont bientôt
expirer (&(objectClass=x509Cert)(end<int(time.time())+delai)).
2014-03-17 11:26:53 +01:00
Valentin Samir
285d35364a [objets] Dans adherent.machine() possibilité de forcer le rafraîchissement du cache local 2014-03-15 22:47:25 +01:00
Valentin Samir
241f55154e [objets] Création et suppression de compte crans 2014-03-15 22:47:04 +01:00
Valentin Samir
bc751c415b [attributs, objets] Ajout de l'attribut shadowExpire 2014-03-15 22:38:15 +01:00
Valentin Samir
7e55e8325d [attributs, objets] Possibilité d'avoir un attribut unique sauf pour une liste de valeur prédéfini
Je pense particulièrement à chambre qui est unique sauf pour ???? et EXT
On en a besoin pour détecter, quand on affecte quelqu'un a une chambre, que
la chambre est déjà occupée
2014-03-15 22:36:02 +01:00
Daniel STAN
b9f47f5b94 objets: machines destructibles par parent
Aller la dupplication de code aller aller.
2014-03-04 18:47:48 +01:00