From: Gael Le Mignot Date: Wed, 19 Sep 2018 09:30:20 +0000 (+0200) Subject: Sending notification X-Git-Tag: 1.4.0~39^2~4^2 X-Git-Url: https://git.parisson.com/?a=commitdiff_plain;h=fdebe360732736a23e96a93864daa22fb18b44aa;p=teleforma.git Sending notification --- diff --git a/teleforma/templates/teleforma/messages/email_appointment.txt b/teleforma/templates/teleforma/messages/email_appointment.txt new file mode 100644 index 00000000..f32c03ce --- /dev/null +++ b/teleforma/templates/teleforma/messages/email_appointment.txt @@ -0,0 +1,10 @@ +Bonjour {{ student.first_name }}, + +Nous vous confirmons votre rendez-vous à une simulation du grand-oral +le {{ date|date:"l d F Y à H:i" }}. + +Votre simulations se tiendra au +{{ jury_address }} + +{{ main_text }} + diff --git a/teleforma/templates/teleforma/messages/email_appointment_sujet.txt b/teleforma/templates/teleforma/messages/email_appointment_sujet.txt new file mode 100644 index 00000000..62a5967a --- /dev/null +++ b/teleforma/templates/teleforma/messages/email_appointment_sujet.txt @@ -0,0 +1 @@ +Validation de votre rendez-vous le {{ date|date:"d/m/Y" }} diff --git a/teleforma/views/appointment.py b/teleforma/views/appointment.py index 02fd1854..7994ecde 100644 --- a/teleforma/views/appointment.py +++ b/teleforma/views/appointment.py @@ -4,14 +4,17 @@ from django.views.generic import View from django.contrib import messages from django.http import HttpResponse from django.shortcuts import redirect, get_object_or_404, render +from django.template.loader import render_to_string +from django.http import HttpResponse, HttpResponseRedirect +from django.core.urlresolvers import reverse, reverse_lazy +from django.db import IntegrityError +from django.core.mail import send_mail +from django.conf import settings from teleforma.models.appointment import AppointmentPeriod, Appointment, AppointmentDay, AppointmentSlot from teleforma.views.core import get_periods -from django.http import HttpResponse, HttpResponseRedirect -from django.core.urlresolvers import reverse, reverse_lazy -from django.db import IntegrityError class Appointments(View): template_name = 'teleforma/appointments.html' @@ -95,6 +98,7 @@ class Appointments(View): ap.student = user try: ap.save() + self.send_ap_mail(ap) except IntegrityError: # Duplicate appointment caught by the db msg = u"Ce créneau n'est plus disponible" @@ -109,6 +113,26 @@ class Appointments(View): return rights return self.render(request, period_id) + def send_ap_mail(self, ap): + """ + Send the confirm mail to student + """ + data = { 'mfrom': settings.DEFAULT_FROM_EMAIL, + 'mto': ap.student.email, + 'jury_address': ap.jury.address, + 'date': ap.real_date, + 'student': ap.student, + 'main_text': ap.period.appointment_mail_text } + data['mto'] = "gael@pilotsystems.net" + + subject_template = 'teleforma/messages/email_appointment_sujet.txt' + message_template = 'teleforma/messages/email_appointment.txt' + subject = render_to_string(subject_template, data) + subject = ''.join(subject.splitlines()) + message = render_to_string(message_template, data) + send_mail(subject, message, data['mfrom'], [ data['mto'] ], + fail_silently=False) + return data def cancel_appointment(request):