Based on a feature request & patch from Wolfram Sang
<wsa@the-dreams.de>.
Notifications may span multiple projects, so include a summary in the
subject line, and detail in the header.
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
 
     for (recipient, notifications) in groups:
         notifications = list(notifications)
+        projects = set([ n.patch.project.linkname for n in notifications ])
 
         def delete_notifications():
             PatchChangeNotification.objects.filter(
             'site': Site.objects.get_current(),
             'person': recipient,
             'notifications': notifications,
+            'projects': projects,
         }
+
         subject = render_to_string(
                         'patchwork/patch-change-notification-subject.text',
                         context).strip()
 
-Patch update notification: {{notifications|length}} patch{{notifications|length|pluralize:"es"}} updated
+[{{ projects|join:"," }}] Patch notification: {{notifications|length}} patch{{notifications|length|pluralize:"es"}} updated
 
 
 The following patch{{notifications|length|pluralize:"es"}} (submitted by you) {{notifications|length|pluralize:"has,have"}} been updated in patchwork:
 {% for notification in notifications %}
- * {{notification.patch.name|safe}}
+ * {{notification.patch.project.linkname}}: {{notification.patch.name|safe}}
      - http://{{site.domain}}{{notification.patch.get_absolute_url}}
+     - for: {{notification.patch.project.name}}
     was: {{notification.orig_state}}
     now: {{notification.patch.state}}
 {% endfor %}