modif de gest_crans pour les inscriptions gratuites
darcs-hash:20080908215827-af139-d647a87d700c60ffb04463f1abf588176479fe3b.gz
This commit is contained in:
parent
07fa621324
commit
84f99bf6ea
1 changed files with 71 additions and 39 deletions
|
@ -22,6 +22,7 @@ Retournent None si pas d'objet trouv
|
||||||
To = ['fred@crans.org', 'glondu@crans.org', 'bos@crans.org', 'dimino@crans.org', 'salles@crans.org', 'cohen@crans.org']
|
To = ['fred@crans.org', 'glondu@crans.org', 'bos@crans.org', 'dimino@crans.org', 'salles@crans.org', 'cohen@crans.org']
|
||||||
|
|
||||||
import string, os, sys
|
import string, os, sys
|
||||||
|
import dialog
|
||||||
from whos import aff
|
from whos import aff
|
||||||
import signal, getopt
|
import signal, getopt
|
||||||
from time import strftime, strptime, localtime, mktime
|
from time import strftime, strptime, localtime, mktime
|
||||||
|
@ -37,6 +38,8 @@ import user_tests
|
||||||
isadm = user_tests.isadm()
|
isadm = user_tests.isadm()
|
||||||
isdeconnecteur = user_tests.isdeconnecteur()
|
isdeconnecteur = user_tests.isdeconnecteur()
|
||||||
|
|
||||||
|
dlg = dialog.Dialog()
|
||||||
|
|
||||||
def dialog(arg):
|
def dialog(arg):
|
||||||
return affich_tools.dialog(u'Gestion des adhérents et machines du Crans', arg)
|
return affich_tools.dialog(u'Gestion des adhérents et machines du Crans', arg)
|
||||||
|
|
||||||
|
@ -357,6 +360,10 @@ def set_mail(adher):
|
||||||
dialog(arg)
|
dialog(arg)
|
||||||
return
|
return
|
||||||
|
|
||||||
|
if not isinstance(adher, Club) and not adher.adherentPayant():
|
||||||
|
set_mail_ext(adher)
|
||||||
|
return
|
||||||
|
|
||||||
while 1:
|
while 1:
|
||||||
arg = u'--title "Adresse mail de %s" ' % adher.Nom()
|
arg = u'--title "Adresse mail de %s" ' % adher.Nom()
|
||||||
arg += u'--menu "Adresse mail de l\'adhérent :" 0 0 0 '
|
arg += u'--menu "Adresse mail de l\'adhérent :" 0 0 0 '
|
||||||
|
@ -935,6 +942,18 @@ def on_off(condition):
|
||||||
else:
|
else:
|
||||||
return 'off'
|
return 'off'
|
||||||
|
|
||||||
|
def set_type_de_connexion(adherent):
|
||||||
|
"""
|
||||||
|
Définition du type de connexion: gratuite limité ou normale.
|
||||||
|
"""
|
||||||
|
if isinstance(adherent, Club): return
|
||||||
|
|
||||||
|
annul, result = dlg.menu(u"Type de connexion",
|
||||||
|
choices=[("1", u"Connexion normale"),
|
||||||
|
("2", u"Connexion gratuite")])
|
||||||
|
if annul: return 1
|
||||||
|
adherent.adherentPayant(result == "1")
|
||||||
|
|
||||||
def set_admin(proprio):
|
def set_admin(proprio):
|
||||||
"""
|
"""
|
||||||
Définition de l'état administratif : carte d'étudiant, paiement
|
Définition de l'état administratif : carte d'étudiant, paiement
|
||||||
|
@ -963,11 +982,14 @@ def set_admin(proprio):
|
||||||
else:
|
else:
|
||||||
texte.append(u'Carte vérifiée')
|
texte.append(u'Carte vérifiée')
|
||||||
|
|
||||||
|
if isinstance(proprio, Club) or proprio.adherentPayant():
|
||||||
if paiement_ok == 'off' or iscontroleur:
|
if paiement_ok == 'off' or iscontroleur:
|
||||||
checklist.append(u'"2" "Cotisation %d/%d réglée et charte signée" "%s"' %
|
checklist.append(u'"2" "Cotisation %d/%d réglée et charte signée" "%s"' %
|
||||||
(ann_scol, ann_scol+1, paiement))
|
(ann_scol, ann_scol+1, paiement))
|
||||||
else:
|
else:
|
||||||
texte.append(u'Cotisation/charte vérifiées')
|
texte.append(u'Cotisation/charte vérifiées')
|
||||||
|
else:
|
||||||
|
texte.append(u'Adhérent non payant')
|
||||||
|
|
||||||
# TODO: controle pour le précâblage
|
# TODO: controle pour le précâblage
|
||||||
if config.precab:
|
if config.precab:
|
||||||
|
@ -1422,26 +1444,22 @@ def new_adher(adher):
|
||||||
* set_rque
|
* set_rque
|
||||||
Retourne 1 si annulation.
|
Retourne 1 si annulation.
|
||||||
"""
|
"""
|
||||||
step = 1
|
|
||||||
while 1:
|
while True:
|
||||||
if step == 1:
|
|
||||||
if set_bases(adher): return 1
|
if set_bases(adher): return 1
|
||||||
|
|
||||||
|
steps = [set_etudes,
|
||||||
|
set_type_de_connexion,
|
||||||
|
set_admin,
|
||||||
|
set_mail,
|
||||||
|
set_rque]
|
||||||
|
|
||||||
|
step = 0
|
||||||
|
while step < len(steps):
|
||||||
|
if steps[step](adher): step -= 1
|
||||||
else: step += 1
|
else: step += 1
|
||||||
if step == 2:
|
|
||||||
if set_etudes(adher): step -= 1
|
if not confirm(adher): break
|
||||||
else: step += 1
|
|
||||||
if step == 3:
|
|
||||||
if set_admin(adher): step -= 1
|
|
||||||
else: step += 1
|
|
||||||
if step == 4:
|
|
||||||
if set_mail(adher): step -= 1
|
|
||||||
else: step += 1
|
|
||||||
if step == 5:
|
|
||||||
if set_rque(adher): step -= 1
|
|
||||||
else: step += 1
|
|
||||||
if step == 6:
|
|
||||||
if confirm(adher): step = 1
|
|
||||||
else: break
|
|
||||||
|
|
||||||
arg = u'--title "Inscription Mailing liste de communication ENS" --yesno "\nInscrire l\'adhérent à la mailing liste de communication de l\'ENS ?\n\n\n" 0 0'
|
arg = u'--title "Inscription Mailing liste de communication ENS" --yesno "\nInscrire l\'adhérent à la mailing liste de communication de l\'ENS ?\n\n\n" 0 0'
|
||||||
no, res = dialog(arg)
|
no, res = dialog(arg)
|
||||||
|
@ -1462,9 +1480,13 @@ def modif_adher(adher):
|
||||||
arg += u'--msgbox "ERREUR : la chambre de cet adhérent est inconnue !\n\n\n" 0 0'
|
arg += u'--msgbox "ERREUR : la chambre de cet adhérent est inconnue !\n\n\n" 0 0'
|
||||||
dialog(arg)
|
dialog(arg)
|
||||||
else:
|
else:
|
||||||
|
payant = not isinstance(adher, Club) and not adher.adherentPayant()
|
||||||
|
|
||||||
arg = u'--title "Modification de %s" ' % adher.Nom()
|
arg = u'--title "Modification de %s" ' % adher.Nom()
|
||||||
arg += u'--menu "Que souhaitez vous modifier ?" 0 0 0 '
|
arg += u'--menu "Que souhaitez vous modifier ?" 0 0 0 '
|
||||||
arg += u'"Administratif" "Précâblage, carte d\'étudiant, études" '
|
arg += u'"Administratif" "Précâblage, carte d\'étudiant, études" '
|
||||||
|
if not payant:
|
||||||
|
arg += u'"Connexion" "Changer de type de connexion(gratuit->payant)" '
|
||||||
if adher.compte(): changement_compte = u", compte sur zamok"
|
if adher.compte(): changement_compte = u", compte sur zamok"
|
||||||
else: changement_compte = u""
|
else: changement_compte = u""
|
||||||
arg += u'"État-civil" "Nom, prénom%s" ' % changement_compte
|
arg += u'"État-civil" "Nom, prénom%s" ' % changement_compte
|
||||||
|
@ -1474,6 +1496,7 @@ def modif_adher(adher):
|
||||||
arg += u'"Chambre" "Déménagement" '
|
arg += u'"Chambre" "Déménagement" '
|
||||||
arg += u'"Etudes" "Changement d\'année ou de filière" '
|
arg += u'"Etudes" "Changement d\'année ou de filière" '
|
||||||
arg += u'"Téléphone" "Changement de numéro de téléphone" '
|
arg += u'"Téléphone" "Changement de numéro de téléphone" '
|
||||||
|
if payant:
|
||||||
arg += u'"Mail" "Créer un compte ou changer l\'adresse mail de contact" '
|
arg += u'"Mail" "Créer un compte ou changer l\'adresse mail de contact" '
|
||||||
arg += u'"Alias" "Créer ou supprimer un alias mail" '
|
arg += u'"Alias" "Créer ou supprimer un alias mail" '
|
||||||
arg += u'"Remarque" "Ajouter ou modifer un commentaire" '
|
arg += u'"Remarque" "Ajouter ou modifer un commentaire" '
|
||||||
|
@ -1510,6 +1533,8 @@ def modif_adher(adher):
|
||||||
set_blackliste(adher)
|
set_blackliste(adher)
|
||||||
elif res[0] == 'Charte des MA' :
|
elif res[0] == 'Charte des MA' :
|
||||||
set_charte_MA(adher)
|
set_charte_MA(adher)
|
||||||
|
elif res[0] == 'Connexion':
|
||||||
|
adher.adherentPayant(dlg.yesno(u"Passer à un compte payant ?") == 0)
|
||||||
elif res[0] == 'Adresse' or res[0] == 'Chambre':
|
elif res[0] == 'Adresse' or res[0] == 'Chambre':
|
||||||
arg = u'--title "Déménagement de %s" ' % adher.Nom()
|
arg = u'--title "Déménagement de %s" ' % adher.Nom()
|
||||||
arg += u'--menu "Question :" 0 0 0 '
|
arg += u'--menu "Question :" 0 0 0 '
|
||||||
|
@ -1982,8 +2007,15 @@ def menu_principal():
|
||||||
# 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
|
if not isinstance(proprio, Club) and not proprio.adherentPayant():
|
||||||
if proprio.__class__ == Club or not proprio.machines_fixes() or proprio.droits():
|
# Les gens qui ne paient pas n'ont le droit qu'à une
|
||||||
|
# seule machine fixe
|
||||||
|
if proprio.machines_fixes():
|
||||||
|
dlg.msgbox(u"Le type de compte de cet adhérent ne lui permet pas d'avoir de machine suplémentaire")
|
||||||
|
continue
|
||||||
|
else:
|
||||||
|
choix = "Fixe"
|
||||||
|
elif isinstance(proprio, 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" '
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue