email templates depending on invoice amount and type added

This commit is contained in:
Serghei Mihai 2014-10-12 22:04:50 +02:00
parent da1cf33fe0
commit 43cb373da5
5 changed files with 51 additions and 9 deletions

View File

@ -1,3 +1,5 @@
# -*- encoding: utf-8 -*-
from datetime import datetime, timedelta
import json
import shutil
@ -29,7 +31,7 @@ class Command(BaseCommand):
Sends email notifications about the invoices
"""
email_subject = 'Nouvelle facture'
email_subject = 'Votre facture est disponible sur le portail citoyen'
email_template = 'invoice_mail.txt'
email_from = settings.DEFAULT_FROM_EMAIL
secret = settings.INVOICE_HASHING_SECRET
@ -41,7 +43,7 @@ class Command(BaseCommand):
def handle(self, *args, **options):
for invoice in Facture.objects.filter(Q(paye=False) | Q(montant_regle=0),
for invoice in Facture.objects.filter(Q(paye=False) | Q(date_reglement__isnull=True),
active=True, date_limite_paie__gte=datetime.now(),
famille__liaisonnameidfamille__isnull=False):
try:
@ -58,8 +60,9 @@ class Command(BaseCommand):
query=signed_query)
logger.debug('requesting: %s' % url)
response = requests.get(url)
data = response.json().get('data', None)
if not data:
try:
data = response.json().get['data']
except (KeyError, ValueError):
continue
attachment = os.path.join(settings.INVOICES_DIR, 'facture_%s.pdf' % invoice.id)
invoice_hash = self.get_invoice_hash(invoice.id,
@ -71,6 +74,13 @@ class Command(BaseCommand):
context.update(data)
context = Context(context)
if invoice.prelevement_automatique:
self.email_template = 'autobilling_invoice_mail.txt'
elif invoice.solde == 0:
self.email_template = 'null_invoice_mail.txt'
elif invoice.solde < 1:
self.email_template = 'sub1_invoice_mail.txt'
text_body = get_template(self.email_template).render(context)
message = EmailMultiAlternatives(self.email_subject, text_body, self.email_from, [data['email']])
message.attach_file(os.path.join(settings.INVOICES_DIR, 'facture_%s.pdf'% invoice.id))

View File

@ -0,0 +1,12 @@
Cher(e) {{ first_name }} {{ last_name }},
Nous vous informons que votre facture émise le {{invoice.date_generation|date:"SHORT_DATE_FORMAT" }}
d'un montant de {{invoice.amount }}€ est disponible sur votre Compte citoyen.
Vous avez la possibilité de visualiser et de régler cette facture en ligne en cliquant ici: {{ invoice_view_url_base }}/{{ invoice.id }}/{{ invoice_hash }}
Le montant de cette facture sera prélevé sur votre compte le {{ invoice.date_limite_paie|date:"SHORT_DATE_FORMAT" }}.
Cordialement,
La mairie d'Orléans

View File

@ -1,9 +1,9 @@
Bonjour {{ first_name }} {{ last_name }},
Cher(e) {{ first_name }} {{ last_name }},
La facture nr. {{ invoice.id }} d'un montant de {{ invoice.amount }}{{ invoice.devise }} a ete emise le {{ invoice.creation_date|date:"SHORT_DATE_FORMAT" }}.
Nous vous informons que votre facture émise le {{invoice.date_generation|date:"SHORT_DATE_FORMAT" }}
d'un montant de {{invoice.amount }}€ est disponible sur votre Compte citoyen.
Vous pouvez la visualiser a l'adresse {{ invoice_view_url_base }}/{{ invoice.id }}/{{ invoice_hash }}
Vous avez la possibilité de visualiser et de régler cette facture en ligne en cliquant ici: {{ invoice_view_url_base }}/{{ invoice.id }}/{{ invoice_hash }}
Cordialement,
La mairie d'Orleans
La mairie d'Orléans

View File

@ -0,0 +1,8 @@
Cher(s) {{ first_name }} {{ last_name }},
Nous vous informons que votre facture émise le {{invoice.date_generation|date:"SHORT_DATE_FORMAT" }} dun montant de {{invoice.amount }}€
est disponible sur votre Compte citoyen.
Vous avez la possibilité de visualiser cette facture en cliquant ici: {{ invoice_view_url_base }}/{{ invoice.id }}/{{ invoice_hash }}
Cordialement,
La mairie dOrléans

View File

@ -0,0 +1,12 @@
Cher(e) {{ first_name }} {{ last_name }},
Nous vous informons que votre facture émise le {{invoice.date_generation|date:"SHORT_DATE_FORMAT" }}
d'un montant de {{invoice.amount }}€ est disponible sur votre Compte citoyen.
Vous avez la possibilité de visualiser et de régler cette facture en ligne en cliquant ici: {{ invoice_view_url_base }}/{{ invoice.id }}/{{ invoice_hash }}
Le montant de cette facture étant inférieur à 1€, vous navez pas la possibilité de la régler en ligne, les lieux de paiement sont mentionnés dans votre facture
Cordialement,
La mairie dOrléans