diff --git a/gestion/mail/mail_impression_ok.py b/gestion/mail/mail_impression_ok.py index 628dcb1c..f71f3c77 100755 --- a/gestion/mail/mail_impression_ok.py +++ b/gestion/mail/mail_impression_ok.py @@ -42,6 +42,7 @@ debut = fin - datetime.timedelta(minutes=10) success=dict() clubs=dict() +echecs=dict() for job in jobs: # Fin de parsing uid = job.find(attrs={'id': RE_JOB_NAME}).text @@ -52,10 +53,27 @@ for job in jobs: # Hors intervalle: on drope if date < debut or date >= fin: continue - if status != "Success": - # TODO prévenir les imprimeurs si une impression a échoué - continue split = uid.split(u':') + if status != "Success": + # Préviens les imprimeurs si une impression a échoué, + # pas de fioritures ici, boucle assez basique + if len(split) < 3: + name = 'Impression à la main' + task = uid + if name not in echecs: + echecs[name] = {'task': []} + echecs[name]['task'].append(task) + else: + nb = split[0] + name = split[1] + task = u':'.join(split[2:]) + if name not in echecs: + echecs[name] = {'task': []} + echecs[name]['task'].append(task) + + if status != "Sucess": + continue + # Dans le cas d'un success, if len(split) < 3: continue # Boucle qui s'exécute normalement si la typographie dans @@ -122,6 +140,25 @@ for club in clubs: #print mailtxt.as_string() #actually_sendmail(From, (To,), mailtxt) +for name in echecs: + ad = con.search(u'(uid=%s)' % name) + To = 'impression@lists.crans.org' + if ad <> []: + adh = ad[0] + tname = unicode(adh['prenom'][0]) + " " + unicode(adh['nom'][0]) + else: + tname = name + mailtxt=mail.generate('mail_impression_ok', { + 'To': To, + 'From': From, + 'tname': tname, + 'taches': u', '.join(success[name]['task']), + }) + #print mailtxt.as_string() + actually_sendmail(From, (To,), mailtxt) + + + if e>0: print "Des problèmes sont survenus entre %s et %s" % (debut, fin) print "Nombre total de mails envoyés :" diff --git a/gestion/mail/template/mail_impression_ratee/From/fr b/gestion/mail/template/mail_impression_ratee/From/fr new file mode 100644 index 00000000..1ee15d11 --- /dev/null +++ b/gestion/mail/template/mail_impression_ratee/From/fr @@ -0,0 +1,2 @@ +Les membres actifs du Crans + diff --git a/gestion/mail/template/mail_impression_ratee/Subject/fr b/gestion/mail/template/mail_impression_ratee/Subject/fr new file mode 100644 index 00000000..b10811b7 --- /dev/null +++ b/gestion/mail/template/mail_impression_ratee/Subject/fr @@ -0,0 +1 @@ +Echec de travaux d'impression diff --git a/gestion/mail/template/mail_impression_ratee/To/fr b/gestion/mail/template/mail_impression_ratee/To/fr new file mode 100644 index 00000000..38476730 --- /dev/null +++ b/gestion/mail/template/mail_impression_ratee/To/fr @@ -0,0 +1 @@ +{{To}} diff --git a/gestion/mail/template/mail_impression_ratee/X-Mailer/fr b/gestion/mail/template/mail_impression_ratee/X-Mailer/fr new file mode 100644 index 00000000..f5d9c869 --- /dev/null +++ b/gestion/mail/template/mail_impression_ratee/X-Mailer/fr @@ -0,0 +1 @@ +{{ mailer }} diff --git a/gestion/mail/template/mail_impression_ratee/body/fr b/gestion/mail/template/mail_impression_ratee/body/fr new file mode 100644 index 00000000..e0dc0f36 --- /dev/null +++ b/gestion/mail/template/mail_impression_ratee/body/fr @@ -0,0 +1,5 @@ +Rapport d'erreur d'impression : + +Il semble que les impressions {{taches}} lancées par l'utilisateur {{tname}} n'aient pas abouti. + +Le script de notification de fin d'impression.