diff --git a/gestion/gest_crans.py b/gestion/gest_crans.py index 4c8ce3eb..afb41049 100755 --- a/gestion/gest_crans.py +++ b/gestion/gest_crans.py @@ -899,8 +899,28 @@ def set_admin(proprio) : if '1\n' in result : proprio.carteEtudiant(ann_scol) else : proprio.carteEtudiant(-ann_scol) - if '2\n' in result : proprio.paiement(ann_scol) - else : proprio.paiement(-ann_scol) + if '2\n' in result and ann_scol not in proprio.paiement(): + # On est en train de renouveller l'adhésion + # Combien a-t-il de machines ? + if len(proprio.machines_fixes()) > 1 and not proprio.droits(): + # Il a plus d'une machine fixe et n'est pas membre actif + arg = u'--title "Trop de machines fixes" ' + arg+= u'--menu " Cet adhérent a trop de machines fixes.\n\n' + arg+= u'Seuls les membres actifs peuvent posséder plusieurs\n' + arg+= u'machines fixes. L\'adhérent actuel n\'est pas membre\n' + arg+= u'actif, il n\'est donc pas possible de lui laisser autant\n' + arg+= u'de machines fixes..." 0 0 0 ' + arg+= u'"OK" "OK, on je vais lui virer des machines" ' + arg+= u'"Si" "Allez, on est sympa, on veut bien quand même." ' + annul, result = dialog(arg) + if not annul and result[0] == "Si": + proprio.paiement(ann_scol) + else: + set_admin(proprio) + return + else: + proprio.paiement(ann_scol) + elif '2\n' not in result : proprio.paiement(-ann_scol) if '3\n' in result : proprio.paiement(ann_scol+1) else : proprio.paiement(-ann_scol-1) @@ -1716,7 +1736,7 @@ def menu_principal() : else: # Plus de machine fixe possible... arg = u'--title "Nouvelle machine" ' - arg+= u'--menu "Non membre actif\n\n' + arg+= u'--menu " Non membre actif\n\n' arg+= u'Seuls les membres actifs peuvent posséder plusieurs\n' arg+= u'machines fixes. L\'adhérent actuel n\'est pas membre\n' arg+= u'actif, il n\'est donc possible que de lui ajouter une\n'