diff --git a/gestion/config/cotisation.py b/gestion/config/cotisation.py index 65825393..b61e1e57 100644 --- a/gestion/config/cotisation.py +++ b/gestion/config/cotisation.py @@ -10,7 +10,7 @@ # Délai minimal avant de pouvoir réadhérer. # Ne tient pas compte de la période transitoire, qui est un confort # pour l'administration. -delai_readh_jour = 28 +delai_readh_jour = 32 delai_readh = delai_readh_jour * 86400 duree_adh_an = 1 diff --git a/gestion/gest_crans.py b/gestion/gest_crans.py index 471e4e7a..4420d907 100755 --- a/gestion/gest_crans.py +++ b/gestion/gest_crans.py @@ -1266,10 +1266,10 @@ def confirm(clas): res = clas.save() cprint(res) affich_tools.prompt(u"Appuyez sur ENTREE pour continuer") - if isinstance(clas,MachineWifi): + if isinstance(clas, MachineWifi): arg = u'--title "Imprimer code wifi ?" ' arg += u'--yesno "Voulez vous imprimer ce code wifi ?\n" 0 0' - no ,res_0 = dialog(arg) + no, res_0 = dialog(arg) if no: pass else: @@ -1291,7 +1291,6 @@ def confirm(clas): return 1 in_facture = None - def set_blackliste(clas): u""" Édite ou ajoute un item de la blackliste """ bl = clas.blacklist() @@ -1523,6 +1522,9 @@ def set_adhesion(proprio): facture.modePaiement(_mode.lower()) break in_facture = facture + if not in_facture._data.get('finConnexion', []) and not in_facture._data.get('finAdhesion', []): + in_facture = None + proprio.restore() def set_connexion(proprio): """Maj de la période d'accès de l'adhérent""" @@ -1554,7 +1556,7 @@ def set_connexion(proprio): while True: args = u'--title "Connexion de %s" ' % proprio.Nom() if proprio.connexion() > time(): - args += u'--menu "Connexion jusqu\'au %s, choisir une durée de prolongation. : " 0 0 0 ' % (strftime("%d/%m/%Y %H:%M:%S"),) + args += u'--menu "Connexion jusqu\'au %s, choisir une durée de prolongation. : " 0 0 0 ' % (strftime("%d/%m/%Y %H:%M:%S", localtime(proprio.connexion())),) else: args += u'--menu "Connexion actuellement inactive, choisir une durée. : " 0 0 0 ' args += u'"An" "Prolonger d\'un an." ' @@ -1615,17 +1617,16 @@ def set_connexion(proprio): newEnd = fromGeneralizedTimeFormat(facture._data.get('finConnexion', ["19700101000000Z"])[0]) if newEnd > adhEnd: arg = u'--title "Avertissement" ' - arg += u'--yesno "La fin de la connexion de l\'adhérent (%s) tombera après la fin de son adhésion (%s).\nS\'il veut en profiter, il lui faudra éventuellement réadhérer. Continuer ?" 0 0' %(strftime('%d/%m/%Y %H:%M:%S', localtime(newEnd)), strftime('%d/%m/%Y %H:%M:%S', localtime(adhEnd)), ) - no, res = dialog(arg) - if no: - facture._set('finConnexion', []) - facture._set('debutConnexion', []) - facture.supprime(pop=True) - continue + arg += u'--msgbox "La nouvelle fin de connexion (%s) arriverait après la fin de l\'adhésion actuelle (%s).\nIl faut que l\'adhérent réadhère. (possible %s jours avant la fin de l\'adhésion actuelle)" 0 0 ' % (strftime("%d/%m/%Y %H:%M:%S", localtime(newEnd)), strftime("%d/%m/%Y %H:%M:%S", localtime(adhEnd)), cotisation.delai_readh_jour) + dialog(arg) + facture._set('finConnexion', []) + facture._set('debutConnexion', []) + facture.supprime(pop=True) + break if not facture.modePaiement(): arg = u'--title "Mode de paiement pour la connexion de %s" ' % (proprio.Nom(),) - arg += u'--menu "Comment %s souhaite-t-il payer ?" 0 0 0 ' % (proprio.Nom(), ) + arg += u'--menu "Comment %s souhaite-t-il payer ?" 0 0 0 ' % (proprio.Nom(),) arg += u'"Liquide" "En espèces : penser à mettre l\'argent dans une enveloppe." ' arg += u'"Cheque" "Par chèque : ne pas oublier de vérifier signature, date, ordre et montant." ' arg += u'"Carte" "Par CB : tromboner le ticket." ' @@ -1652,6 +1653,10 @@ def set_connexion(proprio): break in_facture = facture + if not in_facture._data.get('finConnexion', []) and not in_facture._data.get('finAdhesion', []): + in_facture = None + proprio.restore() + ############################################################### ## Fonctions de remplissage ou modification des paramètres club diff --git a/gestion/ldap_crans.py b/gestion/ldap_crans.py index 8629f72b..3dd8de7b 100755 --- a/gestion/ldap_crans.py +++ b/gestion/ldap_crans.py @@ -1544,7 +1544,6 @@ class BaseProprietaire(BaseClasseCrans): finAdh.append(facture._data['finAdhesion'][0]) self._set('debutAdhesion', debutAdh) self._set('finAdhesion', finAdh) - self._save() def droits(self, droits=None, light=False): """ Renvoie les droits courants. Non modifiable (sauf si surchargée dans classe enfant)""" @@ -2394,7 +2393,6 @@ class Adherent(BaseProprietaire): finConn.append(facture._data['finConnexion'][0]) self._set('debutConnexion', debutConn) self._set('finConnexion', finConn) - self._save() def adherentPayant(self, valeur = None): """