Gestion de la caution par Stphane.
darcs-hash:20051118002556-41617-c81d1382bc14ab6f92ff080aaf4155495a7fe42e.gz
This commit is contained in:
parent
6271b2919c
commit
872f8bd772
3 changed files with 51 additions and 12 deletions
|
@ -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" '
|
||||
|
|
|
@ -1217,9 +1217,9 @@ class base_proprietaire(base_classes_crans):
|
|||
def controle(self,new=None):
|
||||
"""
|
||||
Controle du tresorier
|
||||
New est de la forme [+-][pc]
|
||||
(p pour le paiement, c pour la carte
|
||||
Retourne une chaine contenant p ou c ou les deux
|
||||
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.
|
||||
"""
|
||||
actuel = self._data.get('controle',[''])
|
||||
if not actuel:
|
||||
|
@ -1230,10 +1230,10 @@ class base_proprietaire(base_classes_crans):
|
|||
if new==None:
|
||||
return actuel
|
||||
|
||||
if not sre.match(r'^[+-][pc]$', new):
|
||||
if not sre.match(r'^[+-][pck]$', new):
|
||||
raise ValueError('modification de controle incorrecte')
|
||||
|
||||
for c in 'pc':
|
||||
for c in 'pck':
|
||||
if new == '+%s' % c and c not in actuel:
|
||||
actuel += c
|
||||
if new == '-%s' % c:
|
||||
|
|
|
@ -314,6 +314,8 @@ def adher_details(adher) :
|
|||
|
||||
if jour :
|
||||
f += coul(u"à jour",'vert')
|
||||
if 'k' not in adher.controle():
|
||||
f += u' (caution non payée)'
|
||||
f += '\n'
|
||||
|
||||
# Telephone
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue