summaryrefslogtreecommitdiff
path: root/templates/packages
diff options
context:
space:
mode:
Diffstat (limited to 'templates/packages')
-rw-r--r--templates/packages/details.html9
-rw-r--r--templates/packages/differences.html31
-rw-r--r--templates/packages/files.html2
-rw-r--r--templates/packages/flag.html11
-rw-r--r--templates/packages/flag_confirmed.html6
-rw-r--r--templates/packages/flagged.html5
-rw-r--r--templates/packages/flaghelp.html5
-rw-r--r--templates/packages/search.html22
-rw-r--r--templates/packages/signoff_cell.html25
-rw-r--r--templates/packages/signoff_options.html18
-rw-r--r--templates/packages/signoff_report.txt41
-rw-r--r--templates/packages/signoffs.html86
12 files changed, 203 insertions, 58 deletions
diff --git a/templates/packages/details.html b/templates/packages/details.html
index 04fd5758..4570627f 100644
--- a/templates/packages/details.html
+++ b/templates/packages/details.html
@@ -16,10 +16,8 @@
<div id="actionlist">
<h4>Package Actions</h4>
<ul class="small">
- <li>
- <a href="{% bugs_list pkg %}" title="View existing bug tickets for {{ pkg.pkgname }}">Bug Reports</a> /
- <a href="{% bug_report pkg %}" title="Report new bug for {{ pkg.pkgname }}">Add New Bug</a>
- </li>
+ <li><a href="{% bugs_list pkg %}" title="View existing bug tickets for {{ pkg.pkgname }}">Bug Reports</a></li>
+ <li><a href="{% bug_report pkg %}" title="Report bug for {{ pkg.pkgname }}">Report a Bug</a></li>
<li><a href="{% flag_unfree pkg %}" title="Report {{ pkg.pkgname }} as unfree">Report as unfree</a></li>
<li><a href="{% get_wiki_link pkg %}" title="Search wiki for {{ pkg.pkgname }}">Search Wiki</a></li>
{% if pkg.flag_date %}
@@ -41,6 +39,7 @@
onclick="return !window.open('/packages/flaghelp/','FlagHelp',
'height=350,width=450,location=no,scrollbars=yes,menubars=no,toolbars=no,resizable=no');">(?)</a></li>
{% endif %}
+ <li><a href="{% get_download_link pkg %}" rel="nofollow" title="Download {{ pkg.pkgname }} from mirror">Download From Mirror</a></li>
</ul>
{% if perms.main.change_package %}
@@ -104,7 +103,7 @@
</tr><tr>
<th>Upstream URL:</th>
<td>{% if pkg.url %}<a href="{{ pkg.url }}"
- title="Visit the website for {{ pkg.pkgname }}">{{ pkg.url }}</a>{% endif %}</td>
+ title="Visit the website for {{ pkg.pkgname }}">{{ pkg.url|url_unquote }}</a>{% endif %}</td>
</tr><tr>
<th>License(s):</th>
<td>{{ pkg.licenses.all|join:", " }}</td>
diff --git a/templates/packages/differences.html b/templates/packages/differences.html
index 69c39756..0412f8c2 100644
--- a/templates/packages/differences.html
+++ b/templates/packages/differences.html
@@ -6,6 +6,35 @@
{% if differences %}
<div id="differences-filter" class="box filter-criteria">
<h2>Package Differences by Architecture</h2>
+ <h3>Select architectures</h3>
+ <form id="arch_selector" method="get" action=".">
+ <fieldset>
+ <legend>Select arches</legend>
+ <div><label for="arch_a" title="Architecture A">Architecture A</label>
+ <select name="arch_a" id="arch_a">
+ {% for arch in arches %}
+ <option
+ {% if arch == arch_a %}
+ selected="selected"
+ {% endif %}
+ >{{ arch }}</option>
+ {% endfor %}
+ </select>
+ </div>
+ <div><label for="arch_b" title="Architecture B">Architecture B</label>
+ <select name="arch_b" id="arch_b">
+ {% for arch in arches %}
+ <option
+ {% if arch == arch_b %}
+ selected="selected"
+ {% endif %}
+ >{{ arch }}</option>
+ {% endfor %}
+ </select>
+ </div>
+ <div><label>&nbsp;</label><input type="submit" title="Show difference between selected architectures"></div>
+ </fieldset>
+ </form>
<h3>Filter Differences View</h3>
<form id="diff_filter" method="post" action=".">
<fieldset>
@@ -65,7 +94,7 @@ $(document).ready(function() {
$('.results').tablesorter({widgets: ['zebra'], sortList: [[1,0], [0,0]]});
$('#diff_filter select').change(filter_packages);
$('#diff_filter input').change(filter_packages);
- $('#criteria_reset').click(filter_reset);
+ $('#criteria_reset').click(filter_packages_reset);
// fire function on page load to ensure the current form selections take effect
filter_packages();
});
diff --git a/templates/packages/files.html b/templates/packages/files.html
index 149154a6..78a40def 100644
--- a/templates/packages/files.html
+++ b/templates/packages/files.html
@@ -1,5 +1,5 @@
{% extends "base.html" %}
-{% block title %}Parabola - {{ pkg.pkgname }} {{ pkg.full_version }} - Package File List{% endblock %}
+{% block title %}Parabola - {{ pkg.pkgname }} {{ pkg.full_version }} ({{ pkg.arch.name }}) - File List{% endblock %}
{% block navbarclass %}anb-packages{% endblock %}
{% block content %}
diff --git a/templates/packages/flag.html b/templates/packages/flag.html
index f439ca36..27ff73b0 100644
--- a/templates/packages/flag.html
+++ b/templates/packages/flag.html
@@ -1,18 +1,19 @@
{% extends "base.html" %}
{% load package_extras %}
-{% block title %}Parabola - Flag Package - {{ package.pkgname }}{% endblock %}
+{% block title %}Parabola - Flag Package - {{ package.pkgname }} {{ package.full_version }} ({{ package.arch.name }}){% endblock %}
+{% block head %}<meta name="robots" content="noindex"/>{% endblock %}
{% block navbarclass %}anb-packages{% endblock %}
{% block content %}
<div id="pkg-flag" class="box">
- <h2>Flag Package: {{ package.pkgname }}</h2>
+ <h2>Flag Package: {{ package.pkgname }} {{ package.full_version }} ({{ package.arch.name }})</h2>
<p>If you notice a package is out-of-date (i.e., there is a newer
<strong>stable</strong> release available), then please notify us using
the form below. Do <em>not</em> report bugs via this form!</p>
- <p>Note that all of the following packages will be marked out of date:</p>
+ <p>Note that the following {{ packages|length }} package{{ packages|pluralize }} will be marked out of date:</p>
<ul>
{% for pkg in packages %}
<li>{% pkg_details_link pkg %} {{ pkg.full_version }} [{{ pkg.repo.name|lower }}] ({{ pkg.arch.name }})</li>
@@ -22,13 +23,13 @@
<p>The message box portion of the flag utility is optional, and meant
for short messages only. If you need more than 200 characters for your
message, then file a bug report, email the maintainer directly, or send
- an email to the <a href="http://list.parabolagnulinux.org/listinfo.cgi/dev-parabolagnulinux.org"
+ an email to the <a href="//lists.parabolagnulinux.org/mailman/listinfo/dev"
title="Visit the dev mailing list">Parabola Development mailing list</a>
with your additional text.</p>
<p><strong>Note:</strong> Do <em>not</em> use this facility if the
package is broken! The package will be unflagged and the report will be ignored!
- <a href="https://bugs.parabolagnulinux.org/" title="Parabola Bugtracker">Use the
+ <a href="//bugs.parabolagnulinux.org/" title="Parabola Bugtracker">Use the
bugtracker to file a bug</a> instead.</p>
<p>Please confirm your flag request for {{package.pkgname}}:</p>
diff --git a/templates/packages/flag_confirmed.html b/templates/packages/flag_confirmed.html
index cc743dd6..62080d62 100644
--- a/templates/packages/flag_confirmed.html
+++ b/templates/packages/flag_confirmed.html
@@ -1,14 +1,16 @@
{% extends "base.html" %}
{% load package_extras %}
-{% block title %}Parabola - Package Flagged - {{ package.pkgname }}{% endblock %}
+{% block title %}Parabola - Package Flagged - {{ package.pkgname }} {{ package.full_version }} ({{ package.arch.name }}){% endblock %}
+{% block head %}<meta name="robots" content="noindex"/>{% endblock %}
{% block navbarclass %}anb-packages{% endblock %}
{% block content %}
<div id="pkg-flag" class="box">
<h2>Package Flagged - {{ package.pkgname }}</h2>
- <p>Thank you, the maintainers have been notified the following packages are out-of-date:</p>
+ <p>Thank you, the maintainers have been notified the following
+ {{ packages|length }} package{{ packages|pluralize }} are out-of-date:</p>
<ul>
{% for pkg in packages %}
<li>{% pkg_details_link pkg %} {{ pkg.full_version }} [{{ pkg.repo.name|lower }}] ({{ pkg.arch.name }})</li>
diff --git a/templates/packages/flagged.html b/templates/packages/flagged.html
index d2328381..f7940cd1 100644
--- a/templates/packages/flagged.html
+++ b/templates/packages/flagged.html
@@ -1,12 +1,13 @@
{% extends "base.html" %}
{% load package_extras %}
-{% block title %}Parabola - Flag Package - {{ pkg.pkgname }}{% endblock %}
+{% block title %}Parabola - Flag Package - {{ pkg.pkgname }} {{ pkg.full_version }} ({{ pkg.arch.name }}){% endblock %}
+{% block head %}<meta name="robots" content="noindex"/>{% endblock %}
{% block navbarclass %}anb-packages{% endblock %}
{% block content %}
<div id="pkg-flagged-error" class="box">
- <h2>Error: Package already flagged</h2>
+ <h2>Package {{ pkg.pkgname }} {{ pkg.full_version }} ({{ pkg.arch.name }}) already flagged</h2>
<p><strong>{{pkg.pkgname}}</strong> has already been flagged out-of-date.</p>
diff --git a/templates/packages/flaghelp.html b/templates/packages/flaghelp.html
index 4a9d1cdf..eac13f83 100644
--- a/templates/packages/flaghelp.html
+++ b/templates/packages/flaghelp.html
@@ -25,13 +25,12 @@
<p>The message box portion of the flag utility is optional, and meant
for short messages only. If you need more than 200 characters for your
message, then file a bug report, email the maintainer directly, or send
- an email to the <a target="_blank"
- href="http://list.parabolagnulinux.org/listinfo.cgi/dev-parabolagnulinux.org"
+ an email to the <a target="_blank" href="//lists.parabolagnulinux.org/mailman/listinfo/dev"
title="Visit the parabola dev mailing list">parabola mailing list</a>
with your additional text.</p>
<p><strong>Note:</strong> Please do <em>not</em> use this facility if the
- package is broken! Use the <a target="_blank" href="https://bugs.parabolagnulinux.org"
+ package is broken! Use the <a target="_blank" href="//bugs.parabolagnulinux.org"
title="Parabola Bugtracker">bugtracker</a> instead.</p>
</body>
diff --git a/templates/packages/search.html b/templates/packages/search.html
index 8bf63a15..bb5c1c8b 100644
--- a/templates/packages/search.html
+++ b/templates/packages/search.html
@@ -1,10 +1,12 @@
{% extends "base.html" %}
{% load package_extras %}
+{% load adminmedia %}
+
{% block title %}Parabola - Package Database{% endblock %}
{% block navbarclass %}anb-packages{% endblock %}
{% block head %}
-<link rel="stylesheet" type="text/css" href="/media/admin_media/css/widgets.css" />
+<link rel="stylesheet" type="text/css" href="{% admin_media_prefix %}css/widgets.css" />
{% endblock %}
{% block content %}
@@ -104,7 +106,8 @@
{% endif %}
<td>{{ pkg.arch.name }}</td>
<td>{{ pkg.repo.name|capfirst }}</td>
- <td>{% pkg_details_link pkg %}</td>
+ <td><a href="{{ pkg.get_absolute_url }}"
+ title="Package details for {{ pkg.pkgname }}">{{ pkg.pkgname }}</a></td>
{% if pkg.flag_date %}
<td><span class="flagged">{{ pkg.full_version }}</span></td>
{% else %}
@@ -153,21 +156,20 @@
</div><!-- #pkglist-results -->
{% else %}
<div class="box">
- <p>We couldn't find any packages matching your query. Try searching again
- using different criteria.</p>
+ <p>We couldn't find any packages matching your query. Try searching again
+ using different criteria.</p>
</div>
{% endif %}
<div id="pkglist-about" class="box">
- <p>You are browsing the Parabola package database. From here you can
- find detailed information about packages located in the official
- supported repositories. If you need the sourceball from where a
- package is built, you can look at our <a
- href='http://repo.parabolagnulinux.org/sources/packages'
+ <p>You are browsing the Parabola package database. From here you can find
+ detailed information about packages located in the official supported repositories.
+ If you need the sourceball from where a package is built, you can look at our <a
+ href='//repo.parabolagnulinux.org/sources/packages'
title='Sourceballed packages'>sources repo</a>.</p> </div>
<script type="text/javascript" src="/jsi18n/"></script>
-{% load adminmedia %}<script type="text/javascript" src="{% admin_media_prefix %}js/core.js"></script>
<script type="text/javascript">window.__admin_media_prefix__ = "{% filter escapejs %}{% admin_media_prefix %}{% endfilter %}";</script>
+<script type="text/javascript" src="{% admin_media_prefix %}js/core.js"></script>
{{search_form.media}}
{% endblock %}
diff --git a/templates/packages/signoff_cell.html b/templates/packages/signoff_cell.html
new file mode 100644
index 00000000..01a5d58d
--- /dev/null
+++ b/templates/packages/signoff_cell.html
@@ -0,0 +1,25 @@
+{% spaceless %}
+{% if group.signoffs %}
+<ul class="signoff-list">
+ {% 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>
+{% endif %}
+{% if group.user_signed_off %}
+<div>
+ <a class="signoff-link" href="{{ group.package.get_absolute_url }}signoff/revoke/"
+ title="Revoke signoff {{ group.pkgbase }} for {{ group.arch }}">Revoke Signoff</a></div>
+{% else %}
+{% if not group.specification.known_bad and group.specification.enabled %}
+<div>
+ <a class="signoff-link" href="{{ group.package.get_absolute_url }}signoff/"
+ title="Signoff {{ group.pkgbase }} for {{ group.arch }}">Signoff</a></div>
+{% endif %}
+{% endif %}
+{% if user == group.packager or user in group.maintainers %}
+<div>
+ <a class="signoff-options" href="{{ group.package.get_absolute_url }}signoff/options/">Signoff Options</a>
+</div>
+{% endif %}
+{% endspaceless %}
diff --git a/templates/packages/signoff_options.html b/templates/packages/signoff_options.html
new file mode 100644
index 00000000..ee9b8b47
--- /dev/null
+++ b/templates/packages/signoff_options.html
@@ -0,0 +1,18 @@
+{% extends "base.html" %}
+
+{% block title %}Arch Linux - Package Signoff Options - {{ package.pkgbase }} {{ package.full_version }} ({{ package.arch.name }}){% endblock %}
+{% block head %}<meta name="robots" content="noindex"/>{% endblock %}
+{% block navbarclass %}anb-packages{% endblock %}
+
+{% block content %}
+<div id="signoff-options" class="box">
+ <h2>Package Signoff Options: {{ package.pkgbase }} {{ package.full_version }} ({{ package.arch.name }})</h2>
+ <form id="signoff-options-form" method="post">{% csrf_token %}
+ <fieldset>
+ {{ form.as_p }}
+ </fieldset>
+ <p><label></label> <input title="Set Signoff Options" type="submit" value="Set Signoff Options" /></p>
+ </form>
+
+</div>
+{% endblock %}
diff --git a/templates/packages/signoff_report.txt b/templates/packages/signoff_report.txt
new file mode 100644
index 00000000..046c2f1e
--- /dev/null
+++ b/templates/packages/signoff_report.txt
@@ -0,0 +1,41 @@
+=== {% autoescape off %}Signoff report for [{{ repo|lower }}] ===
+{{ signoffs_url }}
+
+There are currently:
+* {{ new|length }} new package{{ new|length|pluralize }} in last {{ new_hours }} hours
+* {{ bad|length }} known bad package{{ bad|length|pluralize }}
+* {{ disabled|length }} package{{ disabled|length|pluralize }} not accepting signoffs
+* {{ complete|length }} fully signed off package{{ complete|length|pluralize }}
+* {{ incomplete|length }} package{{ incomplete|length|pluralize }} missing signoffs
+* {{ old|length }} package{{ old|length|pluralize }} older than {{ old_days }} days
+
+(Note: the word 'package' as used here refers to packages as grouped by
+pkgbase, architecture, and repository; e.g., one PKGBUILD produces one
+package per architecture, even if it is a split package.)
+
+
+{% if new %}== New packages in [{{ repo|lower}}] in last {{ new_hours }} hours ({{ new|length }} total) ==
+{% for group in new %}
+* {{ group.pkgbase }}-{{ group.version }} ({{ group.arch }}){% endfor %}
+
+{% endif %}{% regroup incomplete by target_repo as by_repo %}{% for target_repo in by_repo %}
+== Incomplete signoffs for [{{ target_repo.grouper|lower }}] ({{ target_repo.list|length }} total) ==
+{% for group in target_repo.list %}
+* {{ group.pkgbase }}-{{ group.version }} ({{ group.arch }})
+ {{ group.completed }}/{{ group.required }} signoffs{% endfor %}
+{% endfor %}
+
+{% if complete %}== Completed signoffs ({{ complete|length }} total) ==
+{% for group in complete %}
+* {{ group.pkgbase }}-{{ group.version }} ({{ group.arch }}){% endfor %}
+
+
+{% endif %}{% if old %}== All packages in [{{ repo|lower }}] for more than {{ old_days }} days ({{ old|length }} total) ==
+{% for group in old %}
+* {{ group.pkgbase }}-{{ group.version }} ({{ group.arch }}), since {{ group.last_update|date }}{% endfor %}
+
+
+{% endif %}== Top five in signoffs in last {{ new_hours }} hours ==
+{% for leader in leaders %}
+{{ forloop.counter }}. {{ leader.user }} - {{ leader.count }} signoffs{% endfor %}
+{% endautoescape %}
diff --git a/templates/packages/signoffs.html b/templates/packages/signoffs.html
index 4745ff53..c24774a9 100644
--- a/templates/packages/signoffs.html
+++ b/templates/packages/signoffs.html
@@ -9,47 +9,71 @@
<h2>Package Signoffs</h2>
- <p>{{ signoff_groups|length }} signoff group{{ signoff_groups|pluralize }} found.
+ <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>Package Base</th>
+ <th>Target Repo</th>
+ <th>Packager</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>
+ <th>Notes</th>
</tr>
</thead>
- <tbody>
+ <tbody id="tbody_signoffs">
{% for group in signoff_groups %}
- {% with group.package as pkg %}
- <tr class="{% cycle 'odd' 'even' %}">
- <td>{{ pkg.arch.name }}</td>
- <td>{% pkg_details_link pkg %}</td>
- <td>{{ group.packages|length }}</td>
- <td>{{ pkg.full_version }}</td>
- <td>{{ pkg.last_update|date }}</td>
+ <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 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>{{ 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">{% if not group.default_spec %}{% with group.specification as spec %}
+ {% if spec.required != 2 %}Required signoffs: {{ spec.required }}<br/>{% endif %}
+ {% if not spec.enabled %}Signoffs are not currently enabled<br/>{% endif %}
+ {% if spec.known_bad %}Package is known to be bad<br/>{% endif %}
+ {{ spec.comments|default:""|linebreaksbr }}
+ {% endwith %}{% endif %}</td>
</tr>
- {% endwith %}
{% endfor %}
</tbody>
</table>
@@ -60,8 +84,12 @@
<script type="text/javascript">
$(document).ready(function() {
$('a.signoff-link').click(signoff_package);
- $(".results").tablesorter({widgets: ['zebra'], sortList: [[1,0]],
- headers: { 6: { sorter: false } } });
+ $(".results").tablesorter({widgets: ['zebra'], sortList: [[0,0]],
+ headers: { 5: { sorter: 'epochdate' }, 7: { sorter: false }, 8: {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 %}