Refuse d'ajouter des connexions qui finissent après l'adhésion

This commit is contained in:
Pierre-Elliott Bécue 2015-09-01 19:24:43 +02:00
parent f77a73218d
commit 6913629672
3 changed files with 18 additions and 15 deletions

View file

@ -10,7 +10,7 @@
# Délai minimal avant de pouvoir réadhérer. # Délai minimal avant de pouvoir réadhérer.
# Ne tient pas compte de la période transitoire, qui est un confort # Ne tient pas compte de la période transitoire, qui est un confort
# pour l'administration. # pour l'administration.
delai_readh_jour = 28 delai_readh_jour = 32
delai_readh = delai_readh_jour * 86400 delai_readh = delai_readh_jour * 86400
duree_adh_an = 1 duree_adh_an = 1

View file

@ -1266,10 +1266,10 @@ def confirm(clas):
res = clas.save() res = clas.save()
cprint(res) cprint(res)
affich_tools.prompt(u"Appuyez sur ENTREE pour continuer") 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'--title "Imprimer code wifi ?" '
arg += u'--yesno "Voulez vous imprimer ce code wifi ?\n" 0 0' arg += u'--yesno "Voulez vous imprimer ce code wifi ?\n" 0 0'
no ,res_0 = dialog(arg) no, res_0 = dialog(arg)
if no: if no:
pass pass
else: else:
@ -1291,7 +1291,6 @@ def confirm(clas):
return 1 return 1
in_facture = None in_facture = None
def set_blackliste(clas): def set_blackliste(clas):
u""" Édite ou ajoute un item de la blackliste """ u""" Édite ou ajoute un item de la blackliste """
bl = clas.blacklist() bl = clas.blacklist()
@ -1523,6 +1522,9 @@ def set_adhesion(proprio):
facture.modePaiement(_mode.lower()) facture.modePaiement(_mode.lower())
break break
in_facture = facture 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): def set_connexion(proprio):
"""Maj de la période d'accès de l'adhérent""" """Maj de la période d'accès de l'adhérent"""
@ -1554,7 +1556,7 @@ def set_connexion(proprio):
while True: while True:
args = u'--title "Connexion de %s" ' % proprio.Nom() args = u'--title "Connexion de %s" ' % proprio.Nom()
if proprio.connexion() > time(): 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: else:
args += u'--menu "Connexion actuellement inactive, choisir une durée. : " 0 0 0 ' args += u'--menu "Connexion actuellement inactive, choisir une durée. : " 0 0 0 '
args += u'"An" "Prolonger d\'un an." ' args += u'"An" "Prolonger d\'un an." '
@ -1615,17 +1617,16 @@ def set_connexion(proprio):
newEnd = fromGeneralizedTimeFormat(facture._data.get('finConnexion', ["19700101000000Z"])[0]) newEnd = fromGeneralizedTimeFormat(facture._data.get('finConnexion', ["19700101000000Z"])[0])
if newEnd > adhEnd: if newEnd > adhEnd:
arg = u'--title "Avertissement" ' 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)), ) 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)
no, res = dialog(arg) dialog(arg)
if no:
facture._set('finConnexion', []) facture._set('finConnexion', [])
facture._set('debutConnexion', []) facture._set('debutConnexion', [])
facture.supprime(pop=True) facture.supprime(pop=True)
continue break
if not facture.modePaiement(): if not facture.modePaiement():
arg = u'--title "Mode de paiement pour la connexion de %s" ' % (proprio.Nom(),) 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'"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'"Cheque" "Par chèque : ne pas oublier de vérifier signature, date, ordre et montant." '
arg += u'"Carte" "Par CB : tromboner le ticket." ' arg += u'"Carte" "Par CB : tromboner le ticket." '
@ -1652,6 +1653,10 @@ def set_connexion(proprio):
break break
in_facture = facture 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 ## Fonctions de remplissage ou modification des paramètres club

View file

@ -1544,7 +1544,6 @@ class BaseProprietaire(BaseClasseCrans):
finAdh.append(facture._data['finAdhesion'][0]) finAdh.append(facture._data['finAdhesion'][0])
self._set('debutAdhesion', debutAdh) self._set('debutAdhesion', debutAdh)
self._set('finAdhesion', finAdh) self._set('finAdhesion', finAdh)
self._save()
def droits(self, droits=None, light=False): def droits(self, droits=None, light=False):
""" Renvoie les droits courants. Non modifiable (sauf si surchargée dans classe enfant)""" """ 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]) finConn.append(facture._data['finConnexion'][0])
self._set('debutConnexion', debutConn) self._set('debutConnexion', debutConn)
self._set('finConnexion', finConn) self._set('finConnexion', finConn)
self._save()
def adherentPayant(self, valeur = None): def adherentPayant(self, valeur = None):
""" """