[gestion] Gestion plus propre des changements d'annee

Ajout d'une variable periode_transitoire dans config.py qui definit les
periodes ou on accepte ceux qui ont paye l'annee precedente (on ne prend pas du
tout en compte la carte d'etudiant dans ces periodes).
On en profite pour enlever toute notion de caution ...

darcs-hash:20100801103904-ddb99-cad90eb5599173bec23ff3952b3d22f80fd618f2.gz
This commit is contained in:
Michel Blockelet 2010-08-01 12:39:04 +02:00
parent 5feb3042ee
commit 26dfe36d93
4 changed files with 42 additions and 38 deletions

View file

@ -670,14 +670,15 @@ class CransLdap:
# considéré non ok s'il n'a pas fourni sa carte d'etudiant
# alors que l'on est desormais en periode de bloquage
# définifif (cf config.py).
if time.localtime()[1] in (8, 9):
# Pour septembre paiement année précédente ok
if config.periode_transitoire:
# Pour la période transitoire année précédente ok
el = "(|(paiement=%d)(paiement=%d))" % (ann_scol, ann_scol-1)
else:
el = "(paiement=%s)" % ann_scol
# Doit-on bloquer en cas de manque de la carte d'etudiant ?
if config.bl_carte_et_definitif:
el = "(&(|(carteEtudiant=%d)(objectClass=club))%s)" % (ann_scol, el)
# Doit-on bloquer en cas de manque de la carte d'etudiant ?
# (si période transitoire on ne bloque dans aucun cas)
if config.bl_carte_et_definitif:
el = "(&(|(carteEtudiant=%d)(objectClass=club))%s)" % (ann_scol, el)
elif champ[1:] == 'blacklist':
el = '(blacklist=%s)' % expr
else:
@ -1549,9 +1550,9 @@ class BaseProprietaire(BaseClasseCrans):
def controle(self, new=None):
u"""
Controle du tresorier
New est de la forme [+-][pck]
(p pour le paiement, c pour la carte, k pour la caution)
Retourne une chaine contenant une combinaison de p, c, k.
New est de la forme [+-][pc]
(p pour le paiement, c pour la carte)
Retourne une chaine contenant une combinaison de p, c.
"""
actuel = self._data.get('controle', [''])
if not actuel:
@ -1565,7 +1566,7 @@ class BaseProprietaire(BaseClasseCrans):
if not re.match(r'^[+-][pck]$', new):
raise ValueError('modification de controle incorrecte')
for c in 'pck':
for c in 'pc':
if new == '+%s' % c and c not in actuel:
actuel += c
if new == '-%s' % c: