[extensions-web] Allow viewing an error report.
- From: Jasper St. Pierre <jstpierre src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [extensions-web] Allow viewing an error report.
- Date: Fri, 23 Sep 2011 23:09:46 +0000 (UTC)
commit 0fc12a0c6d12d41456054553fe96fe9b3575260d
Author: Jasper St. Pierre <jstpierre mecheye net>
Date: Fri Sep 23 17:16:45 2011 -0400
Allow viewing an error report.
sweettooth/errorreports/admin.py | 8 +------
sweettooth/errorreports/models.py | 12 ++++++++++
.../errorreports/templates/errorreports/view.html | 23 ++++++++++++++++++++
sweettooth/errorreports/urls.py | 3 ++
sweettooth/errorreports/views.py | 5 ++++
sweettooth/static/css/sweettooth.css | 14 ++++++++++-
6 files changed, 56 insertions(+), 9 deletions(-)
---
diff --git a/sweettooth/errorreports/admin.py b/sweettooth/errorreports/admin.py
index 33ff750..6a96a6a 100644
--- a/sweettooth/errorreports/admin.py
+++ b/sweettooth/errorreports/admin.py
@@ -4,15 +4,9 @@ from django.contrib import admin
from errorreports.models import ErrorReport
class ErrorReportAdmin(admin.ModelAdmin):
- list_display = 'user_or_email', 'extension', 'version_num'
+ list_display = 'user_display', 'extension', 'version_num'
list_display_links = list_display
- def user_or_email(self, report):
- if report.user:
- return report.user
- else:
- return report.email
-
def version_num(self, report):
return report.version.version
diff --git a/sweettooth/errorreports/models.py b/sweettooth/errorreports/models.py
index f308ffa..e615122 100644
--- a/sweettooth/errorreports/models.py
+++ b/sweettooth/errorreports/models.py
@@ -1,5 +1,6 @@
from django.contrib import auth
+from django.core.urlresolvers import reverse
from django.db import models
from django.dispatch import Signal
from extensions.models import ExtensionVersion
@@ -23,4 +24,15 @@ class ErrorReport(models.Model):
else:
return self.email
+ @property
+ def user_display(self):
+ if self.user:
+ return self.user.username
+ else:
+ return self.email
+
+ @property
+ def no_errors(self):
+ return self.errors == ""
+
error_reported = Signal(providing_args=["version", "report"])
diff --git a/sweettooth/errorreports/templates/errorreports/view.html b/sweettooth/errorreports/templates/errorreports/view.html
new file mode 100644
index 0000000..94bfce6
--- /dev/null
+++ b/sweettooth/errorreports/templates/errorreports/view.html
@@ -0,0 +1,23 @@
+{% extends "base.html" %}
+{% block title %}Error report on "{{ report.version.extension.name }}" — {{ block.super }}{% endblock %}
+{% block body %}
+<h2><em>{{ report.user_display }}'s report for "{{ report.version.extension.name }}"</em></h2>
+
+<div id="error_report">
+<h3> Detected errors with this extension </h3>
+
+{% if report.no_errors %}
+<div class="no-errors">
+Could not detect any errors
+{% else %}
+<div>
+{{ report.errors }}
+{% endif %}
+</div>
+
+<h3> Additional comments for the author </h3>
+<div>{{ report.comment|default:"No comments" }}</div>
+</div>
+{% endblock %}
+
+{% block navclass %}main{% endblock %}
diff --git a/sweettooth/errorreports/urls.py b/sweettooth/errorreports/urls.py
index ae0faf0..98115ab 100644
--- a/sweettooth/errorreports/urls.py
+++ b/sweettooth/errorreports/urls.py
@@ -6,4 +6,7 @@ from errorreports import views
urlpatterns = patterns('',
url(r'^report/(?P<pk>\d+)',
views.ReportErrorView.as_view(), name='errorreports-report'),
+
+ url(r'^view/(?P<pk>\d+)',
+ views.ViewErrorReportView.as_view(), name='errorreports-view'),
)
diff --git a/sweettooth/errorreports/views.py b/sweettooth/errorreports/views.py
index aed2a9d..7f9b430 100644
--- a/sweettooth/errorreports/views.py
+++ b/sweettooth/errorreports/views.py
@@ -41,3 +41,8 @@ class ReportErrorView(DetailView):
pk=self.object.pk,
ext_pk=self.object.extension.pk,
slug=self.object.extension.slug)
+
+class ViewErrorReportView(DetailView):
+ model = ErrorReport
+ context_object_name = "report"
+ template_name = "errorreports/view.html"
diff --git a/sweettooth/static/css/sweettooth.css b/sweettooth/static/css/sweettooth.css
index 6f2c5a8..126e643 100644
--- a/sweettooth/static/css/sweettooth.css
+++ b/sweettooth/static/css/sweettooth.css
@@ -297,7 +297,8 @@ li.extension {
float: right;
}
-#error_report textarea {
+#error_report textarea,
+#error_report div {
display: block;
width: 97%;
resize: vertical;
@@ -307,7 +308,16 @@ li.extension {
margin: 1em;
}
-#error_report textarea.no-errors {
+#error_report div {
+ border: 1px solid #999;
+ border-radius: 4px;
+ background-color: white;
+ color: black;
+ font-family: monospace;
+ white-space: pre;
+}
+
+#error_report .no-errors {
color: #888;
font: inherit;
text-align: center;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]