Ajout gestion d'imprimeurs supplementaires aux clubs

darcs-hash:20080925150938-ddb99-b14a05653652f20395d564ee514a4de72896c18b.gz
This commit is contained in:
Michel Blockelet 2008-09-25 17:09:38 +02:00
parent a1df248e34
commit 0bee1d7cde
4 changed files with 98 additions and 34 deletions

View file

@ -631,15 +631,70 @@ def set_responsable(club):
else:
club.responsable(resp)
def set_responsables(club):
""" Modifie les responsable d'un club """
arg = u'--title "Responsable du club" '
arg += u'--msgbox "Séléctionnez l\'adhérent responsable du club\n\n\n" 0 0'
dialog(arg)
resp = select(club, u'du responsable du club a', 'ro')
if not resp: return 1
else:
club.responsable(resp)
def set_imprimeurs(club):
""" Modifie les imprimeurs d'un club """
while 1:
arg = u'--title "Imprimeurs de %s" ' % club.Nom()
if len(club.imprimeurs()) > 0:
arg += u'--menu "Action ?" 0 0 0 '
arg += u'"Enlever" "Enlever un imprimeur" '
else:
arg += u'--menu "Il n\'y a aucun imprimeur pour ce club." 0 0 0 '
arg += u'"Ajouter" "Ajouter un imprimeur" '
annul, res = dialog(arg)
if annul: break
if res[0] == 'Enlever':
liste = map(lambda s: db.search("aid=%s" % s)['adherent'][0], club.imprimeurs())
if len(liste) == 1:
# Une seule réponse
choix = liste[0]
else:
# Il faut choisir
while 1:
os.system('clear')
choix = None
print "Ce club a plusieurs imprimeurs :"
aff(liste)
i = affich_tools.prompt(u'Votre choix ? (0 pour annuler) aid =')
if i == '0': break
for v in liste:
if v.id() == i:
choix = v
break
if not choix:
# Redemande le choix
print 'Choix invalide'
continue
if choix: break
if not choix:
continue
arg = u'--title "Enlever un imprimeur" '
arg += u'--yesno "Enlever l\'imprimeur %s ? \n\n" 0 0' % choix.Nom()
no, res = dialog(arg)
if not no:
if club.imprimeurs(retirer=str(choix.id())):
arg = u'--title "Enlever un imprimeur" '
arg += u'--msgbox "Imprimeur enlevé\n\n\n" 0 0'
dialog(arg)
else:
arg = u'--title "Enlever un imprimeur" '
arg += u'--msgbox "Cet adhérent n\'est pas imprimeur du club !\n\n\n" 0 0'
dialog(arg)
elif res[0] == 'Ajouter':
newimp = select(club, u'd\'un nouvel imprimeur a', 'ro')
if newimp:
if club.imprimeurs(ajouter=str(newimp.id())):
arg = u'--title "Ajout imprimeur" '
arg += u'--msgbox "Imprimeur ajouté\n\n\n" 0 0'
dialog(arg)
else:
arg = u'--title "Ajout imprimeur" '
arg += u'--msgbox "Cet adhérent est déjà imprimeur !\n\n\n" 0 0'
dialog(arg)
continue
def set_club_nom(club):
# Nom du club
@ -1123,6 +1178,7 @@ def modif_club(club):
arg += u'--menu "Que souhaitez vous modifier ?" 0 0 0 '
arg += u'"NomClub" "Modifier le nom du club" '
arg += u'"Responsable" "Changer le responsable du club %s" ' % club.responsable().Nom()
arg += u'"Imprimeurs" "Changer la liste des imprimeurs" '
arg += u'"Administratif" "Précâblage" '
arg += u'"Local" "Modifier le local du club" '
arg += u'"Compte" "Créer un compte crans." '
@ -1142,6 +1198,8 @@ def modif_club(club):
set_club_nom(club)
elif res[0] == 'Responsable':
set_responsable(club)
elif res[0] == 'Imprimeurs':
set_imprimeurs(club)
elif res[0] == 'Administratif':
set_admin(club)
elif res[0] == 'Compte':