Envoi d'un mail au tresorier lorsqu'un solde est modifie

darcs-hash:20070511050948-c992d-ad8f1c34077bad22fd4d9b92361583cadfd7e0fb.gz
This commit is contained in:
bos 2007-05-11 07:09:48 +02:00
parent e357c150f9
commit c4285d566a
3 changed files with 46 additions and 2 deletions

View file

@ -152,6 +152,10 @@ class rouge(base_reconfigure):
from supervison import mail
self._do(mail(trucs))
def mail_solde(self, modifs):
from gen_confs.supervison import mail_solde
self._do(mail_solde(modifs))
def switch(self, chambres):
from gen_confs.switchs import switch
self._do(switch(chambres))

View file

@ -75,3 +75,41 @@ Subject: %(Subject)s
'Text' : texte.encode('iso8859-15') } )
conn.quit()
print OK
class mail_solde:
"""
Envoie un mail au Tresorier pour les modifications de solde"""
From = 'stasi@crans.org'
To = [ 'tresorier@crans.org', 'bos@crans.org' ]
Subject = "Modification de solde"
mail_template = """From: %(From)s
To: %(To)s
Subject: %(Subject)s
%(Text)s"""
# Avec les caractères d'échappement qui vont bien pour la couleur ?
couleur = False
def __init__(self,modifs) :
self.modifs = modifs
def reconfigure(self) :
""" Envoi le mail """
cprint(u'Mail de notification de modifications du solde', 'gras')
texte = ''
for modif in self.modifs:
texte = texte + modif + '\n'
anim('\tEnvoi mail')
conn=smtplib.SMTP(smtpserv)
conn.sendmail(self.From, self.To , \
self.mail_template % { 'From' : self.From,
'To' : ','.join(self.To),
'Subject' : self.Subject,
'Text' : texte.encode('iso8859-15') } )
conn.quit()
print OK

View file

@ -16,6 +16,7 @@ import ldap, ldap.modlist, ldap_passwd
import config, annuaires, iptools, chgpass, user_tests, cPickle, config_mail
from chgpass import chgpass
from affich_tools import coul, prompt, cprint
from email_tools import send_email
from syslog import *
date_format = '%d/%m/%Y %H:%M'
@ -1044,7 +1045,8 @@ class BaseClasseCrans(CransLdap):
modif['solde'] = "debit %s Euros" % str(diff)
else:
modif['solde'] = "credit %s Euros" % str(-diff)
self.services_to_restart('mail_solde', ['%s : %s pour %s [%s]' %(script_utilisateur,str(diff),self._data['uid'][0],self.modifs['solde'])])
# Formate les entrées de l'historique de la forme champ (ancien -> nouveau)
# On suppose que le champ apparaît forcément dans l'enregistrement
for champ in ['chbre', 'nom', 'prenom', 'mail', 'tel',
@ -1714,7 +1716,7 @@ class BaseProprietaire(BaseClasseCrans):
if 'droits' in self.modifs:
self.services_to_restart('droits')
self.services_to_restart('mail_modif', ['uid=%s' % self._data['uid'][0]])
# Remise à zero
self.modifs = {}