Gestion de la caution par Stphane.

darcs-hash:20051118002556-41617-c81d1382bc14ab6f92ff080aaf4155495a7fe42e.gz
This commit is contained in:
pauget 2005-11-18 01:25:56 +01:00
parent 6271b2919c
commit 872f8bd772
3 changed files with 51 additions and 12 deletions

View file

@ -885,8 +885,12 @@ def set_blackliste(clas) :
def set_admin(proprio) :
"""
Définition de l'état administratif : carte d'étudiant et paiement
Définition de l'état administratif : carte d'étudiant, paiement
et caution.
"""
# Le propriétaire est-il un personnel de l'ENS ?
personnel = proprio.etudes(0) == "ENS" and proprio.etudes(1) == "Pers"
# Le proprietaire a t-il une section carte d'étudiant ?
# Pas pour les clubs
if proprio.idn != 'cid':
@ -911,6 +915,12 @@ def set_admin(proprio) :
else:
paid_ok = 'off'
if 'k' in proprio.controle():
txt.append(u'Caution payée')
caution_ok = 'on'
else:
caution_ok = 'off'
if 'c' in proprio.controle():
txt.append(u'Carte vérifiée')
carte_ok = 'on'
@ -919,7 +929,7 @@ def set_admin(proprio) :
if iscontroleur: txt = []
if len(txt) == 2 :
if len(txt) == 3 :
# Il n'y a rien à demander
dialog(u'--title "État administratif de %s non modifiable" --msgbox "%s\n" 0 0 ' % (proprio.Nom(), '\n'.join(txt)))
return
@ -929,16 +939,19 @@ def set_admin(proprio) :
arg+= u'--checklist "%s" 0 0 0 ' % '\n'.join(txt)
if carte_ok == 'off' or iscontroleur:
if card and (proprio.etudes(0) != "ENS" or proprio.etudes(1) != "Pers"):
arg+= u'"1" "Carte d\'étudiant %d/%d fournie" "%s" ' % (ann_scol,ann_scol+1, carte)
elif card:
if personnel:
arg+= u'"1" "Preuve informelle d\'appartenance aux personnels de l\'ENS" "%s" ' % carte
elif card:
arg+= u'"1" "Carte d\'étudiant %d/%d fournie" "%s" ' % (ann_scol,ann_scol+1, carte)
if paid_ok == 'off' or iscontroleur:
arg+= u'"2" "Adhésion %d/%d réglée et charte signée" "%s" ' % (ann_scol,ann_scol+1,paid_now)
if config.precab == 1 :
arg+= u'"3" "Adhésion %d/%d réglée et charte signée (précâblage)" "%s" ' % (ann_scol+1,ann_scol+2,precab)
if iscontroleur or (caution_ok == 'off' and not personnel):
arg+= u'"C" "Caution payée" "%s" ' % caution_ok
if iscontroleur:
if card: arg += u'"4" "Vérification de la carte d\'étudiant effectuée" "%s" ' % carte_ok
arg += u'"5" "Vérification de la cotisation/charte effectuée" "%s" ' % paid_ok
@ -949,7 +962,7 @@ def set_admin(proprio) :
# Traitement
if card :
if '1\n' in result : proprio.carteEtudiant(ann_scol)
else : proprio.carteEtudiant(-ann_scol)
elif iscontroleur or carte_ok == 'off' : proprio.carteEtudiant(-ann_scol)
if '2\n' in result and ann_scol not in proprio.paiement():
# On est en train de renouveller l'adhésion
@ -984,6 +997,11 @@ def set_admin(proprio) :
if '5\n' in result: proprio.controle('+p')
elif iscontroleur: proprio.controle('-p')
if 'C\n' in result:
proprio.controle('+k')
elif iscontroleur:
proprio.controle('-k')
###############################################################
## Fonctions de remplissage ou modification des paramètres club
@ -1805,12 +1823,18 @@ def menu_principal() :
if proprio.__class__ == club or proprio.etudes(0) != "ENS" or \
proprio.etudes(1) != "Pers":
# On ne peut avoir de machine fixe si on n'a pas payé
# la caution
caution_ok = 'k' in proprio.controle()
# On ne peut avoir une machine fixe que si on a pas
# déjà une machine fixe, sauf si on est membre actif
# (expérimental)
# On récupère la liste des machines fixes
if proprio.__class__ == club or not proprio.machines_fixes() or proprio.droits():
if caution_ok and \
(proprio.__class__ == club or \
not proprio.machines_fixes() or proprio.droits()):
arg = u'--title "Nouvelle machine" '
arg+= u'--menu "Type de machine ?" 0 0 0 '
arg+= u'"Fixe" "Machine fixe" '
@ -1818,6 +1842,19 @@ def menu_principal() :
annul , result = dialog(arg)
if annul : continue
choix=result[0]
elif not caution_ok:
arg = u'--title "Nouvelle machine" '
arg+= u'--menu " Caution non payée\n\n'
arg+= u'Pour pouvoir incrire une machine fixe, il faut avoir'
arg+= u'payé la caution." 0 0 0 '
arg+= u'"OK" "OK, on lui rajoute une machine wifi" '
arg+= u'"Annul" "Bon, on abandonne..." '
annul, result = dialog(arg)
if annul or result[0] == "Annul": continue
if result[0] == "OK":
choix = 'Wifi'
else:
continue
else:
# Plus de machine fixe possible...
arg = u'--title "Nouvelle machine" '