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) :
|
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 ?
|
# Le proprietaire a t-il une section carte d'étudiant ?
|
||||||
# Pas pour les clubs
|
# Pas pour les clubs
|
||||||
if proprio.idn != 'cid':
|
if proprio.idn != 'cid':
|
||||||
|
@ -911,6 +915,12 @@ def set_admin(proprio) :
|
||||||
else:
|
else:
|
||||||
paid_ok = 'off'
|
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():
|
if 'c' in proprio.controle():
|
||||||
txt.append(u'Carte vérifiée')
|
txt.append(u'Carte vérifiée')
|
||||||
carte_ok = 'on'
|
carte_ok = 'on'
|
||||||
|
@ -919,7 +929,7 @@ def set_admin(proprio) :
|
||||||
|
|
||||||
if iscontroleur: txt = []
|
if iscontroleur: txt = []
|
||||||
|
|
||||||
if len(txt) == 2 :
|
if len(txt) == 3 :
|
||||||
# Il n'y a rien à demander
|
# 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)))
|
dialog(u'--title "État administratif de %s non modifiable" --msgbox "%s\n" 0 0 ' % (proprio.Nom(), '\n'.join(txt)))
|
||||||
return
|
return
|
||||||
|
@ -929,16 +939,19 @@ def set_admin(proprio) :
|
||||||
arg+= u'--checklist "%s" 0 0 0 ' % '\n'.join(txt)
|
arg+= u'--checklist "%s" 0 0 0 ' % '\n'.join(txt)
|
||||||
|
|
||||||
if carte_ok == 'off' or iscontroleur:
|
if carte_ok == 'off' or iscontroleur:
|
||||||
if card and (proprio.etudes(0) != "ENS" or proprio.etudes(1) != "Pers"):
|
if personnel:
|
||||||
arg+= u'"1" "Carte d\'étudiant %d/%d fournie" "%s" ' % (ann_scol,ann_scol+1, carte)
|
|
||||||
elif card:
|
|
||||||
arg+= u'"1" "Preuve informelle d\'appartenance aux personnels de l\'ENS" "%s" ' % carte
|
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:
|
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)
|
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 :
|
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)
|
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 iscontroleur:
|
||||||
if card: arg += u'"4" "Vérification de la carte d\'étudiant effectuée" "%s" ' % carte_ok
|
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
|
arg += u'"5" "Vérification de la cotisation/charte effectuée" "%s" ' % paid_ok
|
||||||
|
@ -949,7 +962,7 @@ def set_admin(proprio) :
|
||||||
# Traitement
|
# Traitement
|
||||||
if card :
|
if card :
|
||||||
if '1\n' in result : proprio.carteEtudiant(ann_scol)
|
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():
|
if '2\n' in result and ann_scol not in proprio.paiement():
|
||||||
# On est en train de renouveller l'adhésion
|
# 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')
|
if '5\n' in result: proprio.controle('+p')
|
||||||
elif iscontroleur: 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
|
## 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 \
|
if proprio.__class__ == club or proprio.etudes(0) != "ENS" or \
|
||||||
proprio.etudes(1) != "Pers":
|
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
|
# On ne peut avoir une machine fixe que si on a pas
|
||||||
# déjà une machine fixe, sauf si on est membre actif
|
# déjà une machine fixe, sauf si on est membre actif
|
||||||
# (expérimental)
|
# (expérimental)
|
||||||
|
|
||||||
# On récupère la liste des machines fixes
|
# 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'--title "Nouvelle machine" '
|
||||||
arg+= u'--menu "Type de machine ?" 0 0 0 '
|
arg+= u'--menu "Type de machine ?" 0 0 0 '
|
||||||
arg+= u'"Fixe" "Machine fixe" '
|
arg+= u'"Fixe" "Machine fixe" '
|
||||||
|
@ -1818,6 +1842,19 @@ def menu_principal() :
|
||||||
annul , result = dialog(arg)
|
annul , result = dialog(arg)
|
||||||
if annul : continue
|
if annul : continue
|
||||||
choix=result[0]
|
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:
|
else:
|
||||||
# Plus de machine fixe possible...
|
# Plus de machine fixe possible...
|
||||||
arg = u'--title "Nouvelle machine" '
|
arg = u'--title "Nouvelle machine" '
|
||||||
|
|
|
@ -1217,9 +1217,9 @@ class base_proprietaire(base_classes_crans):
|
||||||
def controle(self,new=None):
|
def controle(self,new=None):
|
||||||
"""
|
"""
|
||||||
Controle du tresorier
|
Controle du tresorier
|
||||||
New est de la forme [+-][pc]
|
New est de la forme [+-][pck]
|
||||||
(p pour le paiement, c pour la carte
|
(p pour le paiement, c pour la carte, k pour la caution)
|
||||||
Retourne une chaine contenant p ou c ou les deux
|
Retourne une chaine contenant une combinaison de p, c, k.
|
||||||
"""
|
"""
|
||||||
actuel = self._data.get('controle',[''])
|
actuel = self._data.get('controle',[''])
|
||||||
if not actuel:
|
if not actuel:
|
||||||
|
@ -1230,10 +1230,10 @@ class base_proprietaire(base_classes_crans):
|
||||||
if new==None:
|
if new==None:
|
||||||
return actuel
|
return actuel
|
||||||
|
|
||||||
if not sre.match(r'^[+-][pc]$', new):
|
if not sre.match(r'^[+-][pck]$', new):
|
||||||
raise ValueError('modification de controle incorrecte')
|
raise ValueError('modification de controle incorrecte')
|
||||||
|
|
||||||
for c in 'pc':
|
for c in 'pck':
|
||||||
if new == '+%s' % c and c not in actuel:
|
if new == '+%s' % c and c not in actuel:
|
||||||
actuel += c
|
actuel += c
|
||||||
if new == '-%s' % c:
|
if new == '-%s' % c:
|
||||||
|
|
|
@ -314,6 +314,8 @@ def adher_details(adher) :
|
||||||
|
|
||||||
if jour :
|
if jour :
|
||||||
f += coul(u"à jour",'vert')
|
f += coul(u"à jour",'vert')
|
||||||
|
if 'k' not in adher.controle():
|
||||||
|
f += u' (caution non payée)'
|
||||||
f += '\n'
|
f += '\n'
|
||||||
|
|
||||||
# Telephone
|
# Telephone
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue