summaryrefslogtreecommitdiff
path: root/templates/packages
diff options
context:
space:
mode:
authorDan McGee <dan@archlinux.org>2011-02-23 12:09:29 -0600
committerDan McGee <dan@archlinux.org>2011-02-23 12:15:45 -0600
commit3181e970ce9dcc4fd996499ee536e4c2454e89dd (patch)
tree5466564b96c46c81d21140567170a4d6433f6e07 /templates/packages
parentf6c41b273c8962718b303c6050c2fd8bcea533a8 (diff)
Add stale package relations status screen
For now it is read only. Display a few tables of various ways of detecting stale package relations. These include inactive users, pkgbase values that no longer exist, and users that are listed as maintainers that don't have the proper permissions for that package anymore. Signed-off-by: Dan McGee <dan@archlinux.org>
Diffstat (limited to 'templates/packages')
-rw-r--r--templates/packages/stale_relations.html101
1 files changed, 101 insertions, 0 deletions
diff --git a/templates/packages/stale_relations.html b/templates/packages/stale_relations.html
new file mode 100644
index 00000000..975ef1b6
--- /dev/null
+++ b/templates/packages/stale_relations.html
@@ -0,0 +1,101 @@
+{% extends "base.html" %}
+{% block title %}Arch Linux - Stale Package Relations{% endblock %}
+{% block navbarclass %}anb-packages{% endblock %}
+
+{% block content %}
+<div class="box">
+ <h2>Stale Package Relations</h2>
+
+ <h3>Inactive User Relations ({{ inactive_user|length }})</h3>
+
+ <table class="results" id="inactive-user">
+ <thead>
+ <tr>
+ <th>Package Base</th>
+ <th>Packages</th>
+ <th>User</th>
+ <th>Type</th>
+ </tr>
+ </thead>
+ <tbody>
+ {% for relation in inactive_user %}
+ <tr class="{% cycle 'odd' 'even' %}">
+ <td>{{ relation.pkgbase }}</td>
+ <td class="wrap">{% for pkg in relation.get_associated_packages %}
+ <a href="{{ pkg.get_absolute_url }}"
+ title="View package details for {{ pkg.pkgname }}">{{ pkg.repo|lower }}/{{ pkg.pkgname }} ({{ pkg.arch }})</a>{% if not forloop.last %}, {% endif %}
+ {% endfor %}</td>
+ <td>{{ relation.user.get_full_name }}</td>
+ <td>{{ relation.get_type_display }}</td>
+ </tr>
+ {% empty %}
+ <tr class="empty"><td colspan="3"><em>No inactive user relations.</em></td></tr>
+ {% endfor %}
+ </tbody>
+ </table>
+
+ <h3>Relations with Non-existent <tt>pkgbase</tt> ({{ missing_pkgbase|length }})</h3>
+
+ <table class="results" id="missing-pkgbase">
+ <thead>
+ <tr>
+ <th>Package Base</th>
+ <th>User</th>
+ <th>Type</th>
+ </tr>
+ </thead>
+ <tbody>
+ {% for relation in missing_pkgbase %}
+ <tr class="{% cycle 'odd' 'even' %}">
+ <td>{{ relation.pkgbase }}</td>
+ <td>{{ relation.user.get_full_name }}</td>
+ <td>{{ relation.get_type_display }}</td>
+ </tr>
+ {% empty %}
+ <tr class="empty"><td colspan="3"><em>No non-existent pkgbase relations.</em></td></tr>
+ {% endfor %}
+ </tbody>
+ </table>
+
+ <h3>Maintainers with Wrong Permissions ({{ wrong_permissions|length }})</h3>
+
+ <table class="results" id="wrong-permissions">
+ <thead>
+ <tr>
+ <th>Package Base</th>
+ <th>Packages</th>
+ <th>User</th>
+ <th>Allowed Repos</th>
+ <th>Currently in Repos</th>
+ </tr>
+ </thead>
+ <tbody>
+ {% for relation in wrong_permissions %}
+ <tr class="{% cycle 'odd' 'even' %}">
+ <td>{{ relation.pkgbase }}</td>
+ <td class="wrap">{% for pkg in relation.get_associated_packages %}
+ <a href="{{ pkg.get_absolute_url }}"
+ title="View package details for {{ pkg.pkgname }}">{{ pkg.repo|lower }}/{{ pkg.pkgname }} ({{ pkg.arch }})</a>{% if not forloop.last %}, {% endif %}
+ {% endfor %}</td>
+ <td>{{ relation.user.get_full_name }}</td>
+ <td class="wrap">{{ relation.user.userprofile.allowed_repos.all|join:", " }}</td>
+ <td class="wrap">{{ relation.repositories|join:", " }}</td>
+ </tr>
+ {% empty %}
+ <tr class="empty"><td colspan="3"><em>No relations with wrong permissions.</em></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() {
+ $('#inactive-user:not(:has(tbody tr.empty))').tablesorter({widgets: ['zebra'], sortList: [[2,0]]});
+ $('#missing-pkgbase:not(:has(tbody tr.empty))').tablesorter({widgets: ['zebra'], sortList: [[0,0]]});
+});
+ $('#wrong-permissions:not(:has(tbody tr.empty))').tablesorter({widgets: ['zebra'], sortList: [[2,0]]});
+</script>
+{% endblock %}