Commit ebc29a27 by Nicolas Joyard

Envoi mail TA

parent 72fb8b54
......@@ -45,10 +45,11 @@ def clear_cache():
@manager.command
@manager.option('--envoyer', action='store_true')
def envoyer_emails(envoyer=False):
@manager.option('--modele', dest='modele', default=None)
def envoyer_emails(envoyer=False, modele=None):
"""Envoie des e-mails pour tous les parlementaires"""
app.config.update(SQLALCHEMY_ECHO=False)
missed_addr, missed_email = envoyer_emails_(app, envoyer)
missed_addr, missed_email = envoyer_emails_(app, envoyer, modele)
print('')
if len(missed_addr):
......
......@@ -11,6 +11,13 @@ from ..models.constants import ETAPES_BY_ORDRE
def setup(app):
@app.template_filter('madame_monsieur')
def madame_monsieur(parl):
if parl.sexe == 'F':
return 'Madame'
else:
return 'Monsieur'
@app.template_filter('titre_parlementaire')
def titre_parlementaire(parl):
if parl.sexe == 'F':
......
{{ parlementaire|madame_monsieur }},
Le 16 mai 2017, nous vous avions sollicité afin d'obtenir la communication de
deux types de documents : les relevés des 6 derniers mois (de décembre 2016 à
mai 2017) de votre compte bancaire dédié à vos frais de mandat et la
déclaration sur l'honneur que vous deviez transmettre au 31 décembre 2016 au
Président de l'Assemblée nationale.
Vous aviez alors fait le choix de ne pas nous communiquer ces documents. Nous
tenions à vous informer que nous avons déposé mi-mai une requête au tribunal
administratif de Paris à l'encontre du refus de l'accès à ces documents
administratifs.
Nous revenons donc vers vous afin de vous informer que si vous souhaitiez
finalement nous faire parvenir ces documents, nous serions ravis de demander au
tribunal administratif le retrait de notre requête à l'égard de votre décision
de refus.
Vous connaissez notre dévotion en ce qui concerne la valorisation du travail
des membres du Parlement et la transparence des moyens mis à leur disposition
pour être en capacité de l'effectuer. Notre demande de communication vise
d'abord à assurer la transparence pour renforcer la confiance de nos
concitoyens envers les institutions, en démontrant que contrairement à l’idée
reçue, cette somme forfaitaire assurée chaque mois à tous les parlementaires
pour pouvoir payer leurs frais de mandat est utile, légitime et nécessaire au
bon fonctionnement de la démocratie. La publicité des données relatives aux
frais de mandat a un effet très positif sur la revalorisation du statut des
parlementaires. En montrant concrètement, dépense par dépense, pourquoi cette
somme d’argent est allouée aux parlementaires et comment ce budget sert le
mandat des représentants, la transparence de ces informations publiques a
permis, pour 7 de vos collègues qui ont accédé à notre demande, de participer à
rétablir la confiance entre citoyens et institutions. Elle a également permis
de montrer que, si des scandales ont pu révéler qu’il existe des mésusages liés
aux frais mis à disposition des parlementaires, ils sont certainement
minoritaires et ne sauraient entâcher l’ensemble des parlementaires.
Nous espérons vivement que vous accepterez de nous faire parvenir ces documents
essentiels à la démocratie et nous restons bien évidemment à votre disposition
si vous souhaitez échanger sur ce sujet.
Bien respectueusement,
--
Regards Citoyens
(cet e-mail a été co-rédigé)
......@@ -18,7 +18,7 @@ from sqlalchemy.orm.exc import NoResultFound
from ..models import Action, User, Parlementaire, db
from ..models.constants import (DELAI_RELANCE, DELAI_REPONSE, ETAPE_NA,
ETAPE_A_CONFIRMER, ETAPE_DEMANDE_CADA,
ETAPE_DOC_MASQUE)
ETAPE_DOC_MASQUE, ETAPE_REQUETE_TA)
from ..models.functions import normalize_name
from ..tools.files import generer_demande
......@@ -70,12 +70,31 @@ def envoyer_alerte(app, etape, parl, commentaire=None):
return len(messages)
def envoyer_emails(app, envoyer):
def envoyer_emails(app, envoyer, mode):
files_root = os.path.join(app.config['DATA_DIR'], 'files')
modes = {
'initial': {
'si_envoyes': 0,
'set_envoyes': 1,
'etape_min': ETAPE_NA,
'joindre_demande_pdf': True,
'template': 'courriers/mail_parlementaire.txt.j2'
},
'ta': {
'si_envoyes': 1,
'set_envoyes': 2,
'etape_min': ETAPE_REQUETE_TA - 1,
'joindre_demande_pdf': False,
'template': 'courriers/mail_parlementaire_ta.txt.j2'
}
}
options = modes[mode or 'initial']
mail = Mail(app)
parls = Parlementaire.query.filter(Parlementaire.etape > ETAPE_NA) \
.filter(Parlementaire.mails_envoyes == 0) \
parls = Parlementaire.query \
.filter(Parlementaire.etape > options['etape_min']) \
.filter(Parlementaire.mails_envoyes == options['si_envoyes']) \
.order_by(Parlementaire.nom) \
.all()
......@@ -104,12 +123,13 @@ def envoyer_emails(app, envoyer):
missed_email.append(parl.nom_complet)
continue
if options['joindre_demande_pdf']:
filename = generer_demande(parl, files_root)
sender = ('Regards Citoyens', app.config['ADMIN_EMAIL'])
subject = 'Demande d\'accès aux dépenses de vos frais de mandat'
body = render_template('courriers/mail_parlementaire.txt.j2',
parlementaire=parl)
body = render_template(options['template'], parlementaire=parl)
if envoyer:
recipients = parl.emails.split(',')
......@@ -125,6 +145,7 @@ def envoyer_emails(app, envoyer):
msg = Message(subject=subject, body=body, sender=sender,
recipients=recipients, bcc=bcc)
if options['joindre_demande_pdf']:
with open(os.path.join(files_root, filename), 'rb') as f:
msg.attach(filename, 'application/pdf', f.read())
......@@ -133,7 +154,7 @@ def envoyer_emails(app, envoyer):
mail.send(msg)
if envoyer:
parl.mails_envoyes = 1
parl.mails_envoyes = options['set_envoyes']
db.session.commit()
time.sleep(1)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment