From bb318fc560767ccfbfae8148f6df7f70d899f050 Mon Sep 17 00:00:00 2001 From: bernat Date: Fri, 3 Sep 2004 21:40:59 +0200 Subject: [PATCH] Encore un patch Fred darcs-hash:20040903194059-d1718-4419a0e74723574b538f2d2756954c74a830e807.gz --- gestion/gen_confs/dhcpd.py | 2 +- gestion/gen_confs/generate.py | 28 +++++++++++++++++++++++++--- gestion/ldap_crans.py | 17 ++++------------- 3 files changed, 30 insertions(+), 17 deletions(-) diff --git a/gestion/gen_confs/dhcpd.py b/gestion/gen_confs/dhcpd.py index 3b267288..a7a365b1 100755 --- a/gestion/gen_confs/dhcpd.py +++ b/gestion/gen_confs/dhcpd.py @@ -72,7 +72,7 @@ subnet %(network)s netmask %(netmask)s { # Si =0 ralera seulement si réseau vide verbose = 1 - restart_cmd = '/etc/init.d/dhcp restart' + restart_cmd = '/etc/init.d/dhcp stop ; sleep 1 ; /etc/init.d/dhcp start' ######################################FIN PARTIE DE CONFIGURATION diff --git a/gestion/gen_confs/generate.py b/gestion/gen_confs/generate.py index 22bb9854..22928124 100755 --- a/gestion/gen_confs/generate.py +++ b/gestion/gen_confs/generate.py @@ -1,11 +1,11 @@ #! /usr/bin/env python # -*- coding: iso-8859-15 -*- -import sys, signal, os, commands, getopt +import sys, signal, os, commands, getopt, smtplib sys.path.append('/usr/scripts/gestion') -from ldap_crans import crans_ldap, crans, ann_scol +from ldap_crans import crans_ldap, crans, ann_scol, smtpserv from lock import * from affich_tools import anim, cprint, OK, ERREUR, WARNING from time import localtime @@ -24,7 +24,7 @@ make_lock('auto_generate') ##### Options fournies ? try : if len(sys.argv) > 1 : - options, arg = getopt.getopt(sys.argv[1:], '', ['quiet', 'home=', 'ML-ENS=', 'droits', 'switch=' , 'dhcp', 'dns', 'firewall' ]) + options, arg = getopt.getopt(sys.argv[1:], '', ['quiet', 'home=', 'mail_bienvenue=', 'ML-ENS=', 'droits', 'switch=' , 'dhcp', 'dns', 'firewall' ]) else : options, arg = ( [],'') except getopt.error, msg : @@ -73,6 +73,28 @@ if 'home' in to_do.keys() : if debug : import traceback traceback.print_exc() +if 'mail_bienvenue' in to_do.keys() : + if auto : db.services_to_restart('-mail_bienvenue') + cprint('Envoi mail de bienvenue','gras') + pas_fait = [] + for mail in to_do['mail_bienvenue'] : + anim('\t' + mail) + try : + From = "respbats@crans.org" + To = mail + if To.find('@') == -1 : To += '@crans.org' + conn=smtplib.SMTP(smtpserv) + conn.sendmail(From, To , config.txt_mail_bienvenue % { 'From' : From, 'To' : To }) + conn.quit() + print OK + except Exception, c: + print ERREUR + pas_fait.append(mail) + if debug : + import traceback + traceback.print_exc() + if auto and pas_fait : + db.services_to_restart('mail_bienvenue',pas_fait) if 'ML-ENS' in to_do.keys() : cprint('Inscription ML-ENS','gras') diff --git a/gestion/ldap_crans.py b/gestion/ldap_crans.py index 31cad3cd..ffcb78d2 100755 --- a/gestion/ldap_crans.py +++ b/gestion/ldap_crans.py @@ -881,7 +881,7 @@ class base_proprietaire(base_classes_crans) : def save(self) : """ Enregistre l'adhérent ou le club courant dans la base LDAP - Envoie le mail de bienvenue + Ajoute le mail de bienvenue à la liste des services à redémarrer Retourne une chaîne indiquant les opération effectuées. """ # Note : un peu trop de fonctions pour un club mais ce n'est pas génant @@ -908,18 +908,9 @@ class base_proprietaire(base_classes_crans) : ret += coul(u"%s inscrit avec succès." % self.Nom(), 'vert') if self.idn !='cid' : - # Envoi du mail de bienvenue - try : - From = "respbats@crans.org" - To = self.mail().encode('iso-8859-15') - if To.find('@') == -1 : To += '@crans.org' - conn=smtplib.SMTP(smtpserv) - conn.sendmail(From, To , config.txt_mail_bienvenue % { 'From' : From, 'To' : To }) - conn.quit() - ret += coul(u"\nMail de bienvenue envoyé.",'vert') - except Exception, c: - ret += coul(u"\nErreur lors de l'envoi du mail de bienvenue (%s)" % c.__doc__,'jaune') - + # Mail de bienvenue + self.services_to_restart('mail_bienvenue',[self.mail().encode('iso-8859-15')]) + else : ret += coul(u"Modification %s effectuée avec succès." % self.Nom(), 'vert')