deconnexion.py: rationalisation mails

Le mail de déco ET le mail de notification à disconnect sont templatisés et
utilisent le même jeu de données (ça fait moins de code)
This commit is contained in:
Daniel STAN 2014-08-12 19:24:29 +02:00
parent 7340729fdc
commit 3cab7f9980
8 changed files with 67 additions and 57 deletions

View file

@ -19,8 +19,8 @@ import smtplib
from time import *
from gestion.config import NETs, plage_ens, prefix
from gestion.config import upload as config_upload
import gestion.config.mails.upload as upload
from gestion.config import upload as upload
import gestion.config.mails.upload as mails_upload
from gestion.ldap_crans import crans_ldap
from gestion.ldap_crans import MachineFixe
@ -176,12 +176,44 @@ for elupload, eltype, elid in uploadeurs:
mdcf = tableau(macs_dates_chambres, ('mac', 'date', 'chambre'), (20, 21, 7), ('c', 'c', 'c'))
# Début de remplissage du mail
##############################
if eltype == "club":
theid = "cid="
else:
theid = "aid="
theid += proprio.id()
# Test: validation_url('upload')
try:
data = {'dn': theid,
'blid': len(proprio.blacklist())}
reco_url = mail_module.validation_url('upload', data)
reco_url_error = ""
except Exception as e:
reco_url_error = "[[erreur de génération: %r]]" % e
reco_url = ""
mail_data = {
'from': upload.expediteur,
'to': proprio.email(),
'upload': "%.2f" % (elupload,),
'proprio': proprio.Nom(),
'lang_info':'English version below',
'mdc': mdcf,
'chambre': proprio.chbre(),
'id': theid,
'reco_url': reco_url,
'reco_url_error': reco_url_error,
}
# On sanctionne
###############
debut = int(time())
fin = debut + 24*3600
orig = strftime("%Y/%m/%d %H:%M:%S", localtime(debut - 86400))
end = strftime("%Y/%m/%d %H:%M:%S", localtime(debut))
try:
proprio.blacklist([debut, fin, 'autodisc_upload', "Déconn auto. %s Mo" % elupload])
proprio.save()
@ -195,34 +227,16 @@ for elupload, eltype, elid in uploadeurs:
# On envoie un mail à l'adhérent
################################
if eltype == "club":
theid = "cid="
else:
theid = "aid="
theid += proprio.id()
# Test: validation_url('upload')
try:
data = {'dn': theid,
'blid': len(proprio.blacklist())-1}
reco_url = mail_module.validation_url('upload', data)
except Exception as e:
reco_url = "[[erreur de génération: %r]]" % e
mail = connectsmtp()
corps = mail_module.generate('upload_hard', {'from': upload.expediteur, 'to': proprio.email(), 'upload': "%.2f" % (elupload,), 'proprio': proprio.Nom(), 'lang_info':'English version below'}).as_string()
corps = mail_module.generate('upload_hard', mail_data).as_string()
mail.sendmail(upload.expediteur, proprio.email(), corps)
# On envoie un mail à disconnect
################################
if upload.disconnect_mail_hard:
mail_disconnect_hard = mails_upload.Message_disconnect_hard(upload.expediteur,
upload.expediteur, proprio=proprio.Nom(), id=theid,
upload="%.2f" % (elupload,), mdc=mdcf, chambre=proprio.chbre(),
reco_url=reco_url,
)
mail_disconnect_hard.send()
mail_data['to'] = upload.expediteur
corps = mail_module.generate('upload_notif', mail_data).as_string()
mail.sendmail(upload.expediteur, upload.expediteur, corps)
# Vérification du nombre de déconnexions
#########################################