Browse Source

petite modif notification par mail

Élie Bouttier 8 years ago
parent
commit
dde5bf04ff
1 changed files with 21 additions and 3 deletions
  1. 21 3
      services/utils.py

+ 21 - 3
services/utils.py

@@ -1,13 +1,30 @@
-from django.core.mail import mail_managers
+from django.core.mail.message import EmailMultiAlternatives
 from django.core.urlresolvers import reverse
+from django.conf import settings
 
 from .models import ResourceAllocation
 
 
+def mail_managers(subject, message, fail_silently=False, connection=None,
+                  html_message=None, **kwargs):
+    """Send a message to the managers, as defined by the MANAGERS setting."""
+    if not settings.MANAGERS:
+        return
+    mail = EmailMultiAlternatives(
+        '%s%s' % (settings.EMAIL_SUBJECT_PREFIX, subject), message,
+        settings.SERVER_EMAIL, [a[1] for a in settings.MANAGERS],
+        connection=connection, **kwargs
+    )
+    if html_message:
+        mail.attach_alternative(html_message, 'text/html')
+    mail.send(fail_silently=fail_silently)
+
+
 def notify_allocation(request, new_alloc, old_alloc=None):
     fields = ['resource', 'service', 'route', 'start', 'end', 'active', 'notes']
 
-    message = 'Bénévole : ' + str(request.user.profile)
+    benevole = '%s <%s>' % (request.user.username, request.user.email)
+    message = 'Bénévole : ' + benevole
     message += '\n\nAllocation :'
 
     diff = False
@@ -38,4 +55,5 @@ def notify_allocation(request, new_alloc, old_alloc=None):
         sujet = None
 
     if sujet:
-        mail_managers(sujet, message)
+        sujet += ' ADT%d' % new_alloc.service.adhesion.pk
+        mail_managers(sujet, message, cc=[benevole])