[admin/mail_invalide/,gen_confs/] Mise en place deconnexion pour mail invalide
Maintenant, quand on voit un mail invalide : /usr/scripts/admin/mail_invalide/mail_invalide.py [mail]... La personne est deconnectee au bout de 2 semaines si elle n'a pas change son adresse mail. * Le script admin/mail_invalide/mail_invalide.py permet de generer les fiches, et note l'adherent pour deconnexion 2 semaines plus tard (services_to_restart) * admin/mail_invalide/mail_invalide.tex est une fusion des deux mail_invalide*.tex dans le dossier admin/src/ * gen_confs/adherents.py s'occupe de marquer le mail comme invalide au bout de 2 semaines s'il n'a pas ete change (il met le flag mailInvalide=TRUE) * gen_confs/squid.py genere la liste des deconnectes pour Squid darcs-hash:20091208003119-ddb99-74b4388950300879400250b9c40716013832d45e.gz
This commit is contained in:
parent
6c68846b28
commit
0f9856085e
6 changed files with 287 additions and 159 deletions
|
@ -199,6 +199,26 @@ class mail_ajout_droits:
|
|||
traceback.print_exc()
|
||||
|
||||
|
||||
class mail_invalide_expire:
|
||||
# Passage d'un mail en invalide 2 semaines après notification
|
||||
debug = True
|
||||
|
||||
def __init__(self, args):
|
||||
self.args = args
|
||||
|
||||
def reconfigure(self):
|
||||
cprint(u'Passage en mail invalide', 'gras')
|
||||
db = crans_ldap()
|
||||
for arg in self.args:
|
||||
aid, old_mail = arg.split('$')
|
||||
adhl = db.search("aid=%s" % aid, 'w')['adherent']
|
||||
if len(adhl) > 0:
|
||||
adh = adhl[0]
|
||||
if adh.mail() == old_mail:
|
||||
adh.mail_invalide(True)
|
||||
adh.save()
|
||||
|
||||
|
||||
class ML_ens:
|
||||
debug = True
|
||||
|
||||
|
|
|
@ -165,6 +165,10 @@ class rouge(base_reconfigure):
|
|||
from adherents import mail_valide
|
||||
self._do(mail_valide(args))
|
||||
|
||||
def mail_invalide_expire(self, args):
|
||||
from adherents import mail_invalide_expire
|
||||
self._do(mail_invalide_expire(args))
|
||||
|
||||
def mail_ajout_droits(self, args):
|
||||
from adherents import mail_ajout_droits
|
||||
self._do(mail_ajout_droits(args))
|
||||
|
@ -242,6 +246,10 @@ class sable(base_reconfigure):
|
|||
from gen_confs.squid import squid_chbre
|
||||
self._do(squid_chbre())
|
||||
|
||||
def bl_mail_invalide(self):
|
||||
from gen_confs.squid import squid_mail
|
||||
self._do(squid_mail())
|
||||
|
||||
def blacklist_virus(self):
|
||||
from gen_confs.squid import squid_virus
|
||||
self._do(squid_virus())
|
||||
|
|
|
@ -57,48 +57,53 @@ class squid(gen_config) :
|
|||
fic.close()
|
||||
|
||||
class squid_upload(squid) :
|
||||
""" Genère le fichier blacklist-upload pour squid """
|
||||
""" Génère le fichier blacklist-upload pour squid """
|
||||
FICHIER = "/etc/squid3/blacklist_upload"
|
||||
chaine = "upload"
|
||||
|
||||
class squid_p2p(squid) :
|
||||
""" Genère le fichier blacklist-p2p pour squid """
|
||||
""" Génère le fichier blacklist-p2p pour squid """
|
||||
FICHIER = "/etc/squid3/blacklist_p2p"
|
||||
chaine = "p2p"
|
||||
|
||||
class squid_autodisc_upload(squid) :
|
||||
""" Genère le fichier blacklist-autodiscupload pour squid """
|
||||
""" Génère le fichier blacklist-autodiscupload pour squid """
|
||||
FICHIER = "/etc/squid3/blacklist_autodisc_upload"
|
||||
chaine = "autodisc_upload"
|
||||
|
||||
class squid_autodisc_p2p(squid) :
|
||||
""" Genère le fichier blacklist-autodisc-p2p pour squid """
|
||||
""" Génère le fichier blacklist-autodisc-p2p pour squid """
|
||||
FICHIER = "/etc/squid3/blacklist_autodisc_p2p"
|
||||
chaine = "autodisc_p2p"
|
||||
|
||||
class squid_virus(squid) :
|
||||
""" Genère le fichier blacklist-virus pour squid """
|
||||
""" Génère le fichier blacklist-virus pour squid """
|
||||
FICHIER = "/etc/squid3/blacklist_virus"
|
||||
chaine = "virus"
|
||||
|
||||
class squid_warez(squid) :
|
||||
""" Genère le fichier blacklist-warez pour squid """
|
||||
""" Génère le fichier blacklist-warez pour squid """
|
||||
FICHIER = "/etc/squid3/blacklist_warez"
|
||||
chaine = "warez"
|
||||
|
||||
class squid_bloq(squid) :
|
||||
""" Genère le fichier blacklist-bloq pour squid """
|
||||
""" Génère le fichier blacklist-bloq pour squid """
|
||||
FICHIER = "/etc/squid3/blacklist_bloq"
|
||||
chaine = "bloq"
|
||||
|
||||
class squid_carte(squid) :
|
||||
""" Genère le fichier blacklist-carte pour squid """
|
||||
""" Génère le fichier blacklist-carte pour squid """
|
||||
actif = bl_carte_et_actif
|
||||
if not actif : restart_cmd = ''
|
||||
FICHIER = "/etc/squid3/blacklist_carte_et"
|
||||
chaine = "carteEtudiant!=%i"%ann_scol
|
||||
|
||||
class squid_chbre(squid) :
|
||||
""" Genère le fichier blacklist-chbre pour squid """
|
||||
""" Génère le fichier blacklist-chbre pour squid """
|
||||
FICHIER = "/etc/squid3/blacklist_chbre"
|
||||
chaine = "chbre=????"
|
||||
|
||||
class squid_mail(squid) :
|
||||
""" Génère le fichier blacklist-mail pour squid """
|
||||
FICHIER = "/etc/squid3/blacklist_mail"
|
||||
chaine = "mailInvalide=TRUE&uid!=*"
|
||||
|
|
|
@ -489,7 +489,7 @@ class CransLdap:
|
|||
Si new commence par '-', on supprime le service si son start
|
||||
est dans le futur.
|
||||
|
||||
Si new commence par '--', on supprime le service de condition.
|
||||
Si new commence par '--', on supprime le service sans condition.
|
||||
"""
|
||||
if new: new = preattr(new)[1]
|
||||
|
||||
|
@ -2032,6 +2032,9 @@ class Adherent(BaseProprietaire):
|
|||
elif valeur != None:
|
||||
raise ValueError, u"mail_invalide prend un booléen comme argument"
|
||||
|
||||
# on met à jour la blackliste sur sable
|
||||
self.services_to_restart('bl_mail_invalide')
|
||||
|
||||
# renvoie la valeur trouvée dans la base
|
||||
return bool(self._data.get('mailInvalide', []))
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue