[arch-releng] [PATCH] New page ISO Overview

Tom Willemsen ryuslash at gmail.com
Tue Aug 16 19:26:23 EDT 2011


ISO Overview shows a simple list of all the ISOs that are available
and how many times they've been tested successfully or have failed.

Signed-off-by: Tom Willemsen <ryuslash at gmail.com>
---
 releng/urls.py                     |    1 +
 releng/views.py                    |   14 ++++++++++
 templates/releng/iso_overview.html |   48 ++++++++++++++++++++++++++++++++++++
 templates/releng/results.html      |    3 ++
 templates/releng/thanks.html       |    4 ++-
 5 files changed, 69 insertions(+), 1 deletions(-)
 create mode 100644 templates/releng/iso_overview.html

diff --git a/releng/urls.py b/releng/urls.py
index 4a125df..239ad02 100644
--- a/releng/urls.py
+++ b/releng/urls.py
@@ -6,6 +6,7 @@
     (r'^thanks/$',                       'submit_test_thanks', {}, 'releng-test-thanks'),
     (r'^iso/(?P<iso_id>\d+)/$',          'test_results_iso', {}, 'releng-results-iso'),
     (r'^(?P<option>.+)/(?P<value>\d+)/$','test_results_for', {}, 'releng-results-for'),
+    (r'^iso/overview/$',                 'iso_overview', {}, 'releng-iso-overview'),
 )
 
 urlpatterns = patterns('',
diff --git a/releng/views.py b/releng/views.py
index 1d4a0b5..d90a5b9 100644
--- a/releng/views.py
+++ b/releng/views.py
@@ -1,5 +1,6 @@
 from django import forms
 from django.conf import settings
+from django.db.models import Count
 from django.http import Http404
 from django.shortcuts import get_object_or_404, redirect
 from django.views.generic.simple import direct_to_template
@@ -138,4 +139,17 @@ def test_results_for(request, option, value):
 def submit_test_thanks(request):
     return direct_to_template(request, "releng/thanks.html", None)
 
+def iso_overview(request):
+    isos = Iso.objects.all().order_by('-pk')
+    successes = dict(Iso.objects.values_list('pk').filter(test__success=True).annotate(ct=Count('test')))
+    failures = dict(Iso.objects.values_list('pk').filter(test__success=False).annotate(ct=Count('test')))
+    for iso in isos:
+        iso.successes = successes.get(iso.pk, 0)
+        iso.failures = failures.get(iso.pk, 0)
+
+    context = {
+        'isos': isos
+    }
+    return direct_to_template(request, 'releng/iso_overview.html', context)
+
 # vim: set ts=4 sw=4 et:
diff --git a/templates/releng/iso_overview.html b/templates/releng/iso_overview.html
new file mode 100644
index 0000000..ee3aaed
--- /dev/null
+++ b/templates/releng/iso_overview.html
@@ -0,0 +1,48 @@
+{% extends "base.html" %}
+
+{% block content %}
+<div class="box">
+    <h2>Failures and Successes for Testing ISOs</h2>
+
+    <p><a href="{% url releng-test-overview %}">Go back to testing results</a></p>
+
+    <table id="releng-result" class="results">
+        <thead>
+            <tr>
+                <th>ISO</th>
+                <th>Currently Available</th>
+                <th># Successes</th>
+                <th># Failures</th>
+            </tr>
+        </thead>
+        <tbody>
+            {% for iso in isos %}
+            <tr>
+                <td>
+                    <a href="{% url releng-results-iso iso.pk %}">
+                        {{ iso.name }}
+                    </a>
+                </td>
+                <td>
+                    {{ iso.active|yesno }}
+                </td>
+                <td>
+                    {{ iso.successes }}
+                </td>
+                <td>
+                    {{ iso.failures }}
+                </td>
+            </tr>
+            {% endfor %}
+        </tbody>
+    </table>
+</div>
+{% load cdn %}{% jquery %}
+<script type="text/javascript" src="/media/jquery.tablesorter.min.js"></script>
+<script type="text/javascript" src="/media/archweb.js"></script>
+<script type="text/javascript">
+$(document).ready(function() {
+    $(".results:not(:has(tbody tr.empty))").tablesorter({widgets: ['zebra']});
+});
+</script>
+{% endblock %}
diff --git a/templates/releng/results.html b/templates/releng/results.html
index c3e7d99..4ff3c86 100644
--- a/templates/releng/results.html
+++ b/templates/releng/results.html
@@ -13,6 +13,9 @@
     if you have tested and used any ISOs. Both successful and failed results
     are encouraged and welcome.</p>
 
+    <p>For a overview of which ISOs tested best, have a look at
+    the <a href="{% url releng-iso-overview %}">overview</a>.</p>
+
     <p>For more information, see the <a
     href="https://wiki.archlinux.org/index.php/DeveloperWiki:releng_testimages_feedback">documentation
     on the wiki</a>.</p>
diff --git a/templates/releng/thanks.html b/templates/releng/thanks.html
index b261426..80018b0 100644
--- a/templates/releng/thanks.html
+++ b/templates/releng/thanks.html
@@ -8,6 +8,8 @@
     <p>Thank you for taking the time to give us this information!
     Your results have been succesfully added to our database.</p>
     <p>You can now <a href="{% url releng-test-overview %}">go back to the results</a>,
-    or <a href="{% url releng-test-submit %}">give more feedback</a>.</p>
+    <a href="{% url releng-test-submit %}">give more feedback</a>, or
+    have a look at the <a href="{% url releng-iso-overview %}">look at
+    the ISO test overview</a>.</p>
 </div>
 {% endblock %}
-- 
1.7.6



More information about the arch-releng mailing list