deconnexion2: fusionne mails notif upload_hard
Et on peut ainsi virer ce machin de templating dans config/
This commit is contained in:
parent
0d1eca2f8c
commit
18bcbd19ea
5 changed files with 29 additions and 89 deletions
|
@ -16,7 +16,6 @@ import datetime
|
|||
import pytz
|
||||
import cStringIO
|
||||
|
||||
import gestion.config.mails.upload as mails_upload
|
||||
import gestion.affichage as affichage
|
||||
import lc_ldap.shortcuts as shortcuts
|
||||
import lc_ldap.objets as objets
|
||||
|
@ -285,6 +284,28 @@ def upload_hard(proprio, elupload, elid, eltype, curseur, ldap):
|
|||
sys.stderr.write("Blacklist de %s pour %s Mo échoué, %s\n" % (proprio.dn.split(',')[0], elupload, error))
|
||||
return
|
||||
|
||||
# Vérification du nombre de déconnexions
|
||||
#########################################
|
||||
nb_decos = sum(
|
||||
blacklist['type'] == u'autodisc_upload' and
|
||||
int(blacklist['debut']) > stamp_debut - upload.periode_watch
|
||||
for blacklist in proprio['blacklist']
|
||||
)
|
||||
|
||||
if nb_decos >= upload.max_decos:
|
||||
# Génération du fichier postscript
|
||||
try:
|
||||
fiche_deco = generate_ps('upload', proprio, ldap)
|
||||
except Exception as error:
|
||||
fiche_deco = u"""ERREUR lors de la génération.
|
||||
Merci de regénérer manuellement la fiche avec la commande :
|
||||
/usr/scripts/surveillance/fiche_deconnexion/generate.py --upload %s""" % \
|
||||
(proprio.dn.split(',')[0],)
|
||||
mail_data.update({
|
||||
'nb_decos': nb_decos,
|
||||
'fiche_deco': fiche_deco,
|
||||
})
|
||||
|
||||
# On envoie un mail à l'adhérent
|
||||
# On envoie un mail à disconnect
|
||||
################################
|
||||
|
@ -302,41 +323,6 @@ def upload_hard(proprio, elupload, elid, eltype, curseur, ldap):
|
|||
else:
|
||||
print corps
|
||||
|
||||
# Vérification du nombre de déconnexions
|
||||
#########################################
|
||||
nb_decos = len([
|
||||
blacklist
|
||||
for blacklist
|
||||
in proprio['blacklist']
|
||||
if int(blacklist['debut']) > stamp_debut - upload.periode_watch
|
||||
and blacklist['type'] == u'autodisc_upload'
|
||||
])
|
||||
if DEBUG:
|
||||
print nb_decos
|
||||
|
||||
if nb_decos >= upload.max_decos and not DEBUG:
|
||||
# Génération du fichier postscript
|
||||
try:
|
||||
fichier_ps = generate_ps('upload', proprio, ldap)
|
||||
except Exception as error:
|
||||
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 %s" % (proprio.dn.split(',')[0],))
|
||||
|
||||
# Envoi du mail à disconnect
|
||||
with mail_module.ServerConnection() as smtp_conn:
|
||||
corps = mails_upload.message_disconnect_multi % {
|
||||
'from': upload.expediteur,
|
||||
'to': upload.expediteur,
|
||||
'nbdeco': nb_decos,
|
||||
'proprio': u" ".join((
|
||||
unicode(proprio.get('prenom', [u''])[0]),
|
||||
unicode(proprio.get('nom', [u''])[0]),
|
||||
)
|
||||
),
|
||||
'ps': fichier_ps,
|
||||
}
|
||||
corps = corps.encode('utf-8')
|
||||
smtp_conn.sendmail(upload.expediteur, upload.expediteur, corps)
|
||||
|
||||
def upload_soft(proprio, elupload, elid, eltype, curseur):
|
||||
"""Envoit un mail et stocke l'info"""
|
||||
# On inscrit l'ip dans la table des avertis soft
|
||||
|
@ -361,21 +347,6 @@ def upload_soft(proprio, elupload, elid, eltype, curseur):
|
|||
else:
|
||||
print corps
|
||||
|
||||
# On envoie un mail à disconnect
|
||||
################################
|
||||
if upload.disconnect_mail_soft and not DEBUG:
|
||||
corps = mails_upload.message_disconnect_soft % {
|
||||
'from': upload.expediteur,
|
||||
'to': upload.expediteur,
|
||||
'upload': "%.2f" % (elupload,),
|
||||
'proprio': u" ".join(
|
||||
unicode(proprio.get('prenom', [u''])[0]),
|
||||
unicode(proprio.get('nom', [u''])[0]),
|
||||
),
|
||||
}
|
||||
corps = corps.encode('utf-8')
|
||||
smtp_connect.sendmail(upload.expediteur, upload.expediteur, corps)
|
||||
|
||||
def single_check(eltype, elid, elupload, ldap, curseur):
|
||||
"""Fait un test sur un utilisateur, et
|
||||
applique une blackliste ou envoit un averto."""
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue