diff --git a/gestion/config/upload.py b/gestion/config/upload.py index fe7928ab..46993881 100644 --- a/gestion/config/upload.py +++ b/gestion/config/upload.py @@ -13,6 +13,9 @@ soft = 300 #: limite hard hard = 3789 +#: max déconnexions +max_decos = 7 + #: envoyer des mails à disconnect@ en cas de dépassement soft ? disconnect_mail_soft = False #: envoyer des mails à disconnect@ en cas de dépassement hard ? diff --git a/surveillance/deconnexion.py b/surveillance/deconnexion.py index 986bad9d..b1b72361 100755 --- a/surveillance/deconnexion.py +++ b/surveillance/deconnexion.py @@ -257,6 +257,19 @@ for elupload, eltype, elid in uploadeurs: # Vérification du nombre de déconnexions ######################################### nb_decos = len([ x for x in proprio.blacklist() if int(x.split('$')[0]) > time()-30*24*3600 and x.split('$')[2] == 'autodisc_upload' ]) + if nb_decos >= config.upload.max_decos: + + # Génération du fichier postscript + try: + fichier_ps = generate_ps('upload', proprio, ldap) + except: + fichier_ps = ("ERREUR lors de la génération. Merci de regénérer manuellement la fiche avec la commande :\n" + + "/usr/scripts/surveillance/fiche_deconnexion/generate.py --upload aid=%d" % int(proprio.id())) + + # Envoi du mail à disconnect + corps = config.mails.upload.message_disconnect_multi % {'from': upload.expediteur, 'to': upload.expediteur, 'nbdeco': nb_decos, 'proprio': proprio.Nom(), 'ps': fichier_ps} + corps = corps.encode('utf-8') + mail.sendmail(upload.expediteur, upload.expediteur, corps) elif elupload >= upload.soft: # L'adhérent a t il été averti ou est déjà déco ?