[extensions-web] Send an email on every error report
- From: Jasper St. Pierre <jstpierre src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [extensions-web] Send an email on every error report
- Date: Tue, 1 Nov 2011 14:47:53 +0000 (UTC)
commit d8723bce56b1dbbf325ee05206f5be8f41d74180
Author: Jasper St. Pierre <jstpierre mecheye net>
Date: Mon Oct 31 17:36:55 2011 -0400
Send an email on every error report
.../templates/errorreports/report_mail.txt | 13 +++++++++
.../templates/errorreports/report_mail_subject.txt | 1 +
sweettooth/errorreports/views.py | 29 ++++++++++++++++++++
3 files changed, 43 insertions(+), 0 deletions(-)
---
diff --git a/sweettooth/errorreports/templates/errorreports/report_mail.txt b/sweettooth/errorreports/templates/errorreports/report_mail.txt
new file mode 100644
index 0000000..65e6abf
--- /dev/null
+++ b/sweettooth/errorreports/templates/errorreports/report_mail.txt
@@ -0,0 +1,13 @@
+Your extension, "{{ extension.name }}", version {{ version.version }} has received an error report from {{ report.user }}:
+
+{{ report.comments }}
+
+You can see the full report at:
+
+{{ url }}
+
+The error reporting service provided by GNOME Shell Extensions is not a fully-featured ticket tracker and does not aim to replace a ticket tracker.
+
+â
+
+This email was sent automatically by GNOME Shell Extensions. Do not reply.
diff --git a/sweettooth/errorreports/templates/errorreports/report_mail_subject.txt b/sweettooth/errorreports/templates/errorreports/report_mail_subject.txt
new file mode 100644
index 0000000..28c7e66
--- /dev/null
+++ b/sweettooth/errorreports/templates/errorreports/report_mail_subject.txt
@@ -0,0 +1 @@
+GNOME Shell Extensions â "{{ extension.name }}", has a new error report
diff --git a/sweettooth/errorreports/views.py b/sweettooth/errorreports/views.py
index ad3cf7c..3e023b7 100644
--- a/sweettooth/errorreports/views.py
+++ b/sweettooth/errorreports/views.py
@@ -1,7 +1,11 @@
+from django.conf import settings
from django.contrib import messages
+from django.core.mail import send_mail
+from django.core.urlresolvers import reverse
from django.http import HttpResponseForbidden
from django.shortcuts import redirect
+from django.template.loader import render_to_string
from errorreports.models import ErrorReport, error_reported
from extensions.models import ExtensionVersion
@@ -41,3 +45,28 @@ def report_error_view(request, obj):
@model_view(ErrorReport)
def view_error_report_view(request, obj):
return render(request, 'errorreports/view.html', dict(report=obj))
+
+
+def send_email_on_error_reported(request, version, report, **kwargs):
+ extension = version.extension
+
+ url = request.build_absolute_uri(reverse('errorreports-view',
+ kwargs=dict(pk=report.pk)))
+
+ data = dict(version=version,
+ extension=extension,
+ report=report,
+ url=url)
+
+ subject = render_to_string('errorreports/report_mail_subject.txt', data).strip()
+ subject = subject.replace('\n', '')
+ subject = subject.replace('\r', '')
+
+ message = render_to_string('errorreports/report_mail.txt', data).strip()
+
+ send_mail(subject=subject,
+ message=message,
+ from_email=settings.EMAIL_SENDER,
+ recipient_list=[extension.creator.email])
+
+error_reported.connect(send_email_on_error_reported)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]