From fa49e282e5528cf2849cf8e9f9833b88fc4e4beb Mon Sep 17 00:00:00 2001 From: chove Date: Wed, 7 Sep 2005 19:39:15 +0200 Subject: [PATCH] Modifications de l'interface : - gestion des machines Il y a maintenant un menu avec : - les alias - les commentaires - l'exemption d'upload (il reste faire la synchro avec pgsql) - ... J'ai supprim du menu principal tous les liens vers ces fonctions, il faut donc maintenant aller dans modifier machine/club/adherent pour modifier la blackliste, et plus dans le menu du bas - Les raccourcis pour le menu pricipal : Homognisation des initiales pour coller la logique de fred darcs-hash:20050907173915-4ec08-f719fea5d41a1e7f4296d1e09642baf0f9fbf597.gz --- gestion/gest_crans.py | 134 +++++++++++++++++++----------------------- 1 file changed, 61 insertions(+), 73 deletions(-) diff --git a/gestion/gest_crans.py b/gestion/gest_crans.py index 399e4359..c01ad8c5 100755 --- a/gestion/gest_crans.py +++ b/gestion/gest_crans.py @@ -1105,12 +1105,6 @@ def set_machine(machine) : if isadm and machine.proprietaire().__class__ == crans : machine.prise(result[-1]) - # table d'exemption - # Pas pratique de demander à chaque fois - #if isadm : - # if set_exempt(machine) : - # return set_machine(machine) - # Des erreurs ? if err : arg = u'--title "Paramètres machine" ' @@ -1119,15 +1113,20 @@ def set_machine(machine) : # On redemande return set_machine(machine) - if set_rque(machine) : - return set_machine(machine) - if machine.modifs and confirm(machine) : return set_machine(machine) -def set_exempt(machine) : +def set_machine_exemption(machine) : """Définit les réseau exemptés de comptage d'upload pour la machine""" - return __prompt_input_menu(machine.exempt,u'Exemption',u"Ajouter ou modifier un réseau vers lequel on ne compte pas l'upload\nPour ajouter un réseau modifier la fin de la liste.") + if __prompt_input_menu(machine.exempt,u'Exemption',u"Ajouter ou modifier un réseau vers lequel on ne compte pas l'upload\nPour ajouter un réseau modifier la fin de la liste.") or confirm(machine) : + machine.restore() + return 1 + +def set_machine_alias(machine) : + """Définit la liste des alias d'une machine""" + if __prompt_input_menu(machine.alias,'Alias machine', "Entrez ou modifier un alias machine.\nPour ajouter un alias modifier le dernier de la liste.") or confirm(machine) : + machine.restore() + return 1 def del_machine(machine) : """ @@ -1348,6 +1347,38 @@ def modif_adher(adher) : if adher.modifs : return confirm(adher) +def modif_machine(machine) : + """ + Modification de la machine fournie (instance de machine) + Retourne 1 si annulation. + """ + + if not isadm : + return set_machine(machine) + + arg = u'--title "Modification de %s" ' % machine.nom() + arg+= u'--menu "Que souhaitez vous modifier ?" 0 0 0 ' + arg+= u'"Informations" "Modifier le nom de machine, l\'IP, adresse MAC" ' + arg+= u'"Blackliste" "Modifier la blacklist de la machine" ' + arg+= u'"Alias" "Créer ou supprimer un alias de la machine" ' + arg+= u'"Exemptions" "Modifier la liste d\'exemption de la machine" ' + arg+= u'"Remarques" "Ajouter ou supprimer une remarque de la machine" ' + + annul, res = dialog(arg) + + if annul : return 1 + + if res[0]=='Informations' : + set_machine(machine) + elif res[0]=='Blackliste' : + set_blackliste(machine) + elif res[0]=='Alias' : + set_machine_alias(machine) + elif res[0]=='Exemptions' : + set_machine_exemption(machine) + elif res[0]=='Remarques' : + set_rque(machine) + ######################################################################## ## Fonction de sélection (adhérent ou machine) @@ -1517,6 +1548,12 @@ def menu_principal() : """ Affiche le menu de choix initial """ + + # que signifient toutes ces initiales ? + # (a)jouter, (m)odifier, (d)eleter + # (M)achine, (A)dherent, (C)lub, K=crans, (B)orne + # (c)ourant = déja selectionné + proprio = None becane = None choix = None @@ -1533,14 +1570,8 @@ def menu_principal() : if proprio.__class__ != crans : arg+= u' "Modifier l\'inscription de %s" "" ' % proprio.Nom() arg+= u'"aMc" "Ajouter une machine à %s" "" ' % proprio.Nom() - if isdeconnecteur : - arg+= u'"ebA" "Editer blackliste de %s" "" ' % proprio.Nom() if becane : - arg+= u'"mMc" "Modifier la machine %s" "Modification du nom, de l\'IP ou de la MAC" ' % becane.nom().split('.')[0] - if isadm : - arg+= u'"eac" "Editer les alias de la machine %s" "" ' % becane.nom().split('.')[0] - if isdeconnecteur : - arg+= u'"ebM" "Editer blackliste de la machine %s" "" ' % becane.nom().split('.')[0] + arg+= u'"mMc" "Modifier la machine %s" "Modification du nom, de l\'IP, de la MAC, des alias, des exemptions..." ' % becane.nom().split('.')[0] if proprio or becane : arg+= u'"" "---------------------------------------" "" ' @@ -1550,21 +1581,17 @@ def menu_principal() : arg+= u'"dA" "Détruire un adhérent" "Suppression de l\'adhérent ainsi que de ses machines" ' arg+= u'"" "---------------------------------------" "" ' arg+= u'"mM" "Modifier une machine existante" "Changer le nom ou la MAC d\'une machine." ' - if isadm : - arg+= u'"ea" "Editer les alias d\'une machine" "" ' - arg+= u'"dM" "Détruire une machine" "" ' + arg+= u'"dM" "Détruire une machine" "" ' arg+= u'"" "---------------------------------------" "" ' arg+= u'"aC" "Inscrire un nouveau club" "" ' arg+= u'"mC" "Modifier un club" "" ' arg+= u'"aMC" "Ajouter une machine à un club" "" ' arg+= u'"dC" "Détruire un club" "Suppression du club ainsi que de ses machines" ' - if isadm or isdeconnecteur : + if isadm : arg+= u'"" "---------------------------------------" "" ' if isadm : - arg+= u'"aaM" "Ajouter une machine à l\'association" "" ' - arg+= u'"abW" "Ajouter une borne wifi" "" ' - if isdeconnecteur : - arg+= u'"bl" "Modifier blackliste" "" ' + arg+= u'"aKM" "Ajouter une machine à l\'association" "" ' + arg+= u'"aKB" "Ajouter une borne wifi" "" ' annul , result = dialog(arg) if annul : break @@ -1612,12 +1639,6 @@ def menu_principal() : if not becane : continue choix='mMc' - elif choix=='ea' : - # Modif alias machine - becane = select(db,u'machine à modifier m') - if not becane : continue - choix = 'eac' - elif choix=='aC' : # Ajout d'un club proprio = club() @@ -1654,40 +1675,22 @@ def menu_principal() : del(proprio) ; proprio=None del(becane) ; becane=None - elif choix=='aaM' : + elif choix=='aKM' : # Ajout machine au crans becane = machine(crans(),"fixe") - choix = 'mMc' + if set_machine(becane) : + becane.restore() - elif choix=='abW' : + elif choix=='aKB' : # Ajout borne wifi becane = machine(crans(),"borne") - choix = 'mMc' + if set_machine(becane) : + becane.restore() - elif choix=='bl' : - # Edition blackliste - arg = u'--title "Edition blackliste" ' - arg+= u'--menu "Editer la blackliste de : " 0 0 0 ' - arg+= u'"1" "Adhérent" ' - arg+= u'"2" "Machine" ' - arg+= u'"3" "Club" ' - annul , result = dialog(arg) - if annul : continue - choix=int(result[0]) - if choix == 1 : - proprio = select(db,u'adhérent a') - if proprio : choix = 'ebA' - elif choix == 2 : - becane = select(db,u'machine m') - if becane : choix = 'ebM' - elif choix == 3 : - proprio = select_club(db) - if proprio : choix = 'ebA' - ############################################## if choix=='aMc' : - # Ajout d'une machine à l'adhérent courant + # Ajout d'une machine à l'adhérent/au club courant if proprio.__class__ == club or proprio.etudes(0) != "ENS" or \ proprio.etudes(1) != "Pers": @@ -1759,7 +1762,7 @@ def menu_principal() : arg = u'--title "Ajout d\'une machine" ' arg+= u'--msgbox "ERREUR : la chambre de %s est inconnue !\n\n\n" 0 0' % proprio.Nom() dialog(arg) - elif set_machine(becane) : + elif modif_machine(becane) : # Annulation des modifs becane.restore() @@ -1769,21 +1772,6 @@ def menu_principal() : # Annulation des modifs proprio.restore() - elif choix=='eac' : - # Modif alias machine courante - if __prompt_input_menu(becane.alias,'Alias machine', "Entrez ou modifier un alias machine.\nPour ajouter un alias modifier le dernier de la liste.") or confirm(becane) : - becane.restore() - - elif choix=='ebA' : - # Edition blackliste adhérent ou club - if set_blackliste(proprio) : - proprio.restore() - - elif choix=='ebM' : - # Edition blackliste machine - if set_blackliste(becane) : - becane.restore() - os.system('clear') def killed(a,z) :