]> git.parisson.com Git - teleforma.git/commitdiff
Sending notification
authorGael Le Mignot <gael@pilotsystems.net>
Wed, 19 Sep 2018 09:30:20 +0000 (11:30 +0200)
committerGael Le Mignot <gael@pilotsystems.net>
Wed, 19 Sep 2018 09:30:20 +0000 (11:30 +0200)
teleforma/templates/teleforma/messages/email_appointment.txt [new file with mode: 0644]
teleforma/templates/teleforma/messages/email_appointment_sujet.txt [new file with mode: 0644]
teleforma/views/appointment.py

diff --git a/teleforma/templates/teleforma/messages/email_appointment.txt b/teleforma/templates/teleforma/messages/email_appointment.txt
new file mode 100644 (file)
index 0000000..f32c03c
--- /dev/null
@@ -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 (file)
index 0000000..62a5967
--- /dev/null
@@ -0,0 +1 @@
+Validation de votre rendez-vous le {{ date|date:"d/m/Y" }}
index 02fd185456393785177834e098215fa90a1a98fc..7994ecdedff51c079093311655958158f0ebc4c7 100644 (file)
@@ -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):