diff options
author | Dan McGee <dan@archlinux.org> | 2011-11-03 20:59:00 +0100 |
---|---|---|
committer | Dan McGee <dan@archlinux.org> | 2011-11-03 23:19:26 +0100 |
commit | ac2278423a3d449fdfe8c813f1f2d391ef9aff08 (patch) | |
tree | 80fd046042592ae2a8771c4d7183d31613d0d315 /templates/packages/signoffs.html | |
parent | d8e34919811728149a12e30d438318a3c1036a83 (diff) | |
download | archweb-ac2278423a3d449fdfe8c813f1f2d391ef9aff08.tar.gz archweb-ac2278423a3d449fdfe8c813f1f2d391ef9aff08.tar.xz |
Many signoff page improvements
Add a new 'SignoffSpecification' model which will capture metadata
regarding a specific package if it differs from the norm- e.g. more or
less than 2 required signoffs, is known to be bad, a comment from the
maintainer, etc. The groundwork is laid here; much of this will still
need to be wired up in the future.
Enhance the view with a lot more JS prettiness and add revoking of
signoffs. The signoff page can be filtered and the links and all the fun
stuff are totally dynamic now.
Signed-off-by: Dan McGee <dan@archlinux.org>
Diffstat (limited to 'templates/packages/signoffs.html')
-rw-r--r-- | templates/packages/signoffs.html | 50 |
1 files changed, 29 insertions, 21 deletions
diff --git a/templates/packages/signoffs.html b/templates/packages/signoffs.html index a8aa4de..4a2f6c9 100644 --- a/templates/packages/signoffs.html +++ b/templates/packages/signoffs.html @@ -12,42 +12,46 @@ <p>{{ signoff_groups|length }} signoff group{{ signoff_groups|pluralize }} found. A "signoff group" consists of packages grouped by pkgbase, architecture, and repository.</p> + <div class="box filter-criteria"> + <h3>Filter Displayed Signoffs</h3> + <form id="signoffs_filter" method="post" action="."> + <fieldset> + <legend>Select filter criteria</legend> + {% for arch in arches %} + <div><label for="id_arch_{{ arch.name }}" title="Architecture {{ arch.name }}">Arch {{ arch.name }}</label> + <input type="checkbox" name="arch_{{ arch.name }}" id="id_arch_{{ arch.name }}" class="arch_filter" value="{{ arch.name }}" checked="checked"/></div> + {% endfor %} + <div><label for="id_pending" title="Packages with not enough signoffs">Only Pending Approval</label> + <input type="checkbox" name="pending" id="id_pending" value="pending"/></div> + <div ><label> </label><input title="Reset search criteria" type="button" id="criteria_reset" value="Reset"/></div> + </fieldset> + </form> + </div> + <table id="signoffs" class="results"> <thead> <tr> + <th>Package Base/Version</th> <th>Arch</th> - <th>Package Base</th> + <th>Target Repo</th> <th># of Packages</th> - <th>Version</th> <th>Last Updated</th> - <th>Target Repo</th> <th>Approved</th> - <th>Signoff</th> + <th>Signoffs</th> </tr> </thead> - <tbody> + <tbody id="tbody_signoffs"> {% for group in signoff_groups %} {% with group.package as pkg %} - <tr class="{% cycle 'odd' 'even' %}"> + <tr class="{% cycle 'odd' 'even' %} {{ pkg.arch.name }}"> + <td>{% pkg_details_link pkg %} {{ pkg.full_version }}</td> <td>{{ pkg.arch.name }}</td> - <td>{% pkg_details_link pkg %}</td> + <td>{{ group.target_repo }}</td> <td>{{ group.packages|length }}</td> - <td>{{ pkg.full_version }}</td> <td>{{ pkg.last_update|date }}</td> - <td>{{ group.target_repo }}</td> <td class="signoff-{{ group.approved|yesno }}"> {{ group.approved|yesno|capfirst }}</td> - <td> - <ul> - <li><a class="signoff-link" href="{{ pkg.get_absolute_url }}signoff/" - title="Signoff {{ pkg.pkgname }} for {{ pkg.arch }}">Signoff</a> - </li> - {% for signoff in group.signoffs %} - <li class="signed-username" title="Signed off by {{ signoff.user }}"> - {{ signoff.user }}{% if signoff.revoked %} (revoked){% endif %}</li> - {% endfor %} - </ul> - </td> + <td>{% include "packages/signoff_cell.html" %}</td> </tr> {% endwith %} {% endfor %} @@ -60,8 +64,12 @@ <script type="text/javascript"> $(document).ready(function() { $('a.signoff-link').click(signoff_package); - $(".results").tablesorter({widgets: ['zebra'], sortList: [[1,0]], + $(".results").tablesorter({widgets: ['zebra'], sortList: [[0,0]], headers: { 6: { sorter: false } } }); + $('#signoffs_filter input').change(filter_signoffs); + $('#criteria_reset').click(filter_signoffs_reset); + // fire function on page load to ensure the current form selections take effect + filter_signoffs(); }); </script> {% endblock %} |