evorepo/templates/packages/signoffs.html
Dan McGee 6fa6a8db07 Use required_signoffs value when creating signoff specs
And respect it elsewhere when we create a fake default specification
because a real one does not exist yet.

Signed-off-by: Dan McGee <dan@archlinux.org>
2013-04-22 10:50:03 -05:00

102 lines
4.9 KiB
HTML

{% extends "base.html" %}
{% load static from staticfiles %}
{% load package_extras %}
{% block title %}Arch Linux - Package Signoffs{% endblock %}
{% block navbarclass %}anb-packages{% endblock %}
{% block content %}
<div id="dev-signoffs" class="box">
<h2>Package Signoffs</h2>
<p>{{ signoff_groups|length }} total 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 %}
{% for repo_name in repo_names %}
<div><label for="id_repo_{{ repo_name|lower }}" title="Target Repository {{ repo_name }}">[{{ repo_name|lower }}]</label>
<input type="checkbox" name="repo_{{ repo_name|lower }}" id="id_repo_{{ repo_name|lower }}" class="repo_filter" value="{{ repo_name|lower }}" 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>&nbsp;</label><input title="Reset search criteria" type="button" id="criteria_reset" value="Reset"/></div>
<div class="clear"></div>
<div id="filter-info"><span id="filter-count">{{ signoff_groups|length }}</span> signoff groups displayed.</div>
</fieldset>
</form>
</div>
<table id="signoffs" class="results">
<thead>
<tr>
<th>Package Base/Version</th>
<th>Arch</th>
<th>Target Repo</th>
<th>Packager</th>
<th># of Packages</th>
<th>Last Updated</th>
<th>Approved</th>
<th>Signoffs</th>
<th>Notes</th>
</tr>
</thead>
<tbody id="tbody_signoffs">
{% for group in signoff_groups %}<tr class="{% cycle 'odd' 'even' %} {{ group.arch.name }} {{ group.target_repo|lower }}">
<td>{% pkg_details_link group.package %} {{ group.version }}</td>
<td>{{ group.arch.name }}</td>
<td>{{ group.target_repo }}</td>
<td>{{ group.packager|default:"Unknown" }}</td>
<td>{{ group.packages|length }}</td>
<td class="epoch-{{ group.last_update|date:'U' }}">{{ group.last_update|date }}</td>
{% if group.specification.known_bad %}
<td class="approval signoff-bad">Bad</td>
{% else %}
{% if not group.specification.enabled %}
<td class="approval signoff-disabled">Disabled</td>
{% else %}
<td class="approval signoff-{{ group.approved|yesno }}">{{ group.approved|yesno|capfirst }}</td>
{% endif %}
{% endif %}
<td>{% include "packages/signoff_cell.html" %}</td>
<td class="wrap note">{% if not group.default_spec %}{% with group.specification as spec %}{% comment %}
{% endcomment %}{% if spec.required != spec.arch.required_signoffs %}Required signoffs: {{ spec.required }}<br/>{% endif %}{% comment %}
{% endcomment %}{% if not spec.enabled %}Signoffs are not currently enabled<br/>{% endif %}{% comment %}
{% endcomment %}{% if spec.known_bad %}Package is known to be bad<br/>{% endif %}{% comment %}
{% endcomment %}{{ spec.comments|default:""|linebreaksbr }}
{% endwith %}{% endif %}</td>
</tr>{% endfor %}
</tbody>
</table>
</div>
{% endblock %}
{% block script_block %}
{% load cdn %}{% jquery %}{% jquery_tablesorter %}
<script type="text/javascript" src="{% static "archweb.js" %}"></script>
<script type="text/javascript">
$(document).ready(function() {
$('.results').tablesorter({widgets: ['zebra'], sortList: [[0,0]],
headers: { 5: { sorter: 'epochdate' }, 7: { sorter: false }, 8: {sorter: false } } });
});
$(document).ready(function() {
$('a.signoff-link').click(signoff_package);
$('#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();
});
$(document).ready(function() {
collapseNotes('.note');
});
</script>
{% endblock %}