summaryrefslogtreecommitdiff
path: root/templates
diff options
context:
space:
mode:
Diffstat (limited to 'templates')
-rw-r--r--templates/admin/index.html8
-rw-r--r--templates/devel/admin_log.html62
-rw-r--r--templates/devel/clock.html4
-rw-r--r--templates/devel/index.html100
-rw-r--r--templates/devel/packages.html62
-rw-r--r--templates/feeds/news_description.html2
-rw-r--r--templates/feeds/news_title.html2
-rw-r--r--templates/feeds/packages_description.html2
-rw-r--r--templates/feeds/packages_title.html2
-rw-r--r--templates/mirrors/mirror_details.html111
-rw-r--r--templates/mirrors/mirrorlist.txt2
-rw-r--r--templates/mirrors/mirrorlist_status.txt2
-rw-r--r--templates/mirrors/mirrors.html2
-rw-r--r--templates/mirrors/status.html9
-rw-r--r--templates/mirrors/status_table.html2
-rw-r--r--templates/news/add.html8
-rw-r--r--templates/packages/details.html18
-rw-r--r--templates/packages/differences.html4
-rw-r--r--templates/packages/files.html4
-rw-r--r--templates/packages/flag.html32
-rw-r--r--templates/packages/flag_confirmed.html19
-rw-r--r--templates/packages/flaghelp.html7
-rw-r--r--templates/packages/opensearch.xml2
-rw-r--r--templates/packages/outofdate.txt8
-rw-r--r--templates/packages/packages_list.html (renamed from templates/packages/group_details.html)10
-rw-r--r--templates/packages/search.html89
-rw-r--r--templates/packages/signoffs.html2
-rw-r--r--templates/packages/stale_relations.html8
-rw-r--r--templates/public/feeds.html9
-rw-r--r--templates/public/index.html16
-rw-r--r--templates/public/svn.html33
-rw-r--r--templates/releng/add.html27
-rw-r--r--templates/releng/result_list.html41
-rw-r--r--templates/releng/result_section.html28
-rw-r--r--templates/releng/results.html25
-rw-r--r--templates/releng/thanks.html13
-rw-r--r--templates/todolists/email_notification.txt2
-rw-r--r--templates/todolists/list.html4
-rw-r--r--templates/todolists/public_list.html11
-rw-r--r--templates/todolists/view.html4
40 files changed, 574 insertions, 222 deletions
diff --git a/templates/admin/index.html b/templates/admin/index.html
index 6f7f98ee..93cf258d 100644
--- a/templates/admin/index.html
+++ b/templates/admin/index.html
@@ -14,10 +14,18 @@
<div class="module">
<table>
<caption>Custom Admin Pages</caption>
+ {% if perms.auth.add_user %}
<tr>
<th scope="row"><a href="/devel/newuser/">Create New User</a></th>
<td></td><td></td>
</tr>
+ {% endif %}
+ {% if user.is_superuser %}
+ <tr>
+ <th scope="row"><a href="/devel/admin_log/">Admin Actions Log</a></th>
+ <td></td><td></td>
+ </tr>
+ {% endif %}
</table>
</div>
diff --git a/templates/devel/admin_log.html b/templates/devel/admin_log.html
new file mode 100644
index 00000000..0f22ba2b
--- /dev/null
+++ b/templates/devel/admin_log.html
@@ -0,0 +1,62 @@
+{% extends "admin/base_site.html" %}
+{% load i18n %}
+
+{% block extrastyle %}{{ block.super }}<link rel="stylesheet" type="text/css" href="{% load adminmedia %}{% admin_media_prefix %}css/dashboard.css" />{% endblock %}
+
+{% block breadcrumbs %}<div class="breadcrumbs"><a href="/admin/">{% trans 'Home' %}</a>{% if title %} &rsaquo; {{ title }}{% endif %}</div>{% endblock %}
+
+{% block content %}
+<div id="content-main">
+ <div class="module">
+{% load log %}
+{% if log_user %}
+{% get_admin_log 100 as admin_log for_user log_user %}
+{% else %}
+{% get_admin_log 100 as admin_log %}
+{% endif %}
+{% if not admin_log %}
+<p>{% trans 'None available' %}</p>
+{% else %}
+<table id="change-history">
+ <thead>
+ <tr>
+ <th scope="col">{% trans 'Date/time' %}</th>
+ <th scope="col">{% trans 'User' %}</th>
+ <th>Type</th>
+ <th>Object</th>
+ <th scope="col">{% trans 'Action' %}</th>
+ </tr>
+ </thead>
+ <tbody>
+ {% for entry in admin_log %}
+ <tr>
+ <th scope="row">{{ entry.action_time|date:"DATETIME_FORMAT" }}</th>
+ {% if log_user %}
+ <td>{{ entry.user.username }}{% if entry.user.get_full_name %} ({{ entry.user.get_full_name }}){% endif %}</td>
+ {% else %}
+ <td><a href="{{ entry.user.username }}/">{{ entry.user.username }}</a>{% if entry.user.get_full_name %} ({{ entry.user.get_full_name }}){% endif %}</td>
+ {% endif %}
+ <td>
+ {% if entry.content_type %}
+ <span>{% filter capfirst %}{% trans entry.content_type.name %}{% endfilter %}</span>
+ {% else %}
+ <span>{% trans 'Unknown content' %}</span>
+ {% endif %}
+ </td>
+ <td>
+ <span class="{% if entry.is_addition %}addlink{% endif %}{% if entry.is_change %}changelink{% endif %}{% if entry.is_deletion %}deletelink{% endif %}"></span>
+ {% if entry.is_deletion %}
+ {{ entry.object_repr }}
+ {% else %}
+ <a href="/admin/{{ entry.get_admin_url }}">{{ entry.object_repr }}</a>
+ {% endif %}
+ </td>
+ <td>{{ entry.change_message }}</td>
+ </tr>
+ {% endfor %}
+ </tbody>
+</table>
+{% endif %}
+ </div>
+</div>
+{% endblock %}
diff --git a/templates/devel/clock.html b/templates/devel/clock.html
index ebc3b8bf..cbf4b834 100644
--- a/templates/devel/clock.html
+++ b/templates/devel/clock.html
@@ -14,11 +14,12 @@
UTC Time: {{ utc_now|date:"Y-m-d H:i T" }}
</p>
- <table id="clocks-table" class="results dash-stats">
+ <table id="clocks-table" class="results">
<thead>
<tr>
<th>Hacker</th>
<th>Username</th>
+ <th>Alias</th>
<th>Location</th>
<th>Time Zone</th>
<th>Current Time</th>
@@ -29,6 +30,7 @@
<tr class="{% cycle 'odd' 'even' %}">
<td><a href="mailto:{{ dev.email }}">{{ dev.get_full_name }}</a></td>
<td>{{ dev.username }}</td>
+ <td>{{ dev.userprofile.alias }}</td>
<td>{{ dev.userprofile.location }}</td>
<td>{{ dev.userprofile.time_zone }}</td>
<td>{{ dev.current_time|date:"Y-m-d H:i T" }}</td>
diff --git a/templates/devel/index.html b/templates/devel/index.html
index b681a96e..7b728a91 100644
--- a/templates/devel/index.html
+++ b/templates/devel/index.html
@@ -1,5 +1,7 @@
{% extends "base.html" %}
-{% block title %}Parabola - Developer Dashboard{% endblock %}
+{% load cache %}
+
+{% block title %}Parabola - Hacker Dashboard{% endblock %}
{% block content %}
<div id="dev-dashboard" class="box">
@@ -8,7 +10,7 @@
<h3>My Flagged Packages</h3>
- <table id="dash-myflagged" class="results dash-stats">
+ <table id="dash-myflagged" class="results">
<thead>
<tr>
<th>Name</th>
@@ -27,8 +29,8 @@
<td>{{ pkg.repo.name }}</td>
<td>{{ pkg.pkgver }}</td>
<td>{{ pkg.arch.name }}</td>
- <td>{{ pkg.flag_date }}</td>
- <td>{{ pkg.last_update }}</td>
+ <td>{{ pkg.flag_date|date }}</td>
+ <td>{{ pkg.last_update|date }}</td>
</tr>
{% empty %}
<tr class="empty"><td colspan="4"><em>No flagged packages to display</em></td></tr>
@@ -38,7 +40,7 @@
<h3>My Incomplete Todo List Packages</h3>
- <table id="dash-mytodolist" class="results dash-stats">
+ <table id="dash-mytodolist" class="results">
<thead>
<tr>
<th>Todo List</th>
@@ -67,35 +69,60 @@
<h3>Package Todo Lists</h3>
- <table id="dash-todo" class="results dash-stats">
+ <table id="dash-todo" class="results">
<thead>
<tr>
<th>Name</th>
<th>Creation Date</th>
+ <th>Creator</th>
<th>Description</th>
+ <th>Package Count</th>
+ <th>Incomplete Count</th>
+ </tr>
</tr>
</thead>
<tbody>
{% for todo in todos %}
- <tr class="{% cycle 'odd' 'even' %}">
- <td><a href="{{ todo.get_absolute_url }}"
- title="View todo list: {{ todo.name }}">{{ todo.name }}</a></td>
- <td>{{ todo.date_added }}</td>
- <td class="wrap">{{ todo.description|safe }}</td>
- </tr>
+ <tr class="{% cycle 'odd' 'even' %}">
+ <td><a href="{{ todo.get_absolute_url }}"
+ title="View todo list: {{ todo.name }}">{{ todo.name }}</a></td>
+ <td>{{ todo.date_added|date }}</td>
+ <td>{{ todo.creator.get_full_name }}</td>
+ <td class="wrap">{{ todo.description|urlize }}</td>
+ <td>{{ todo.pkg_count }}</td>
+ <td>{{ todo.incomplete_count }}</td>
+ </tr>
{% empty %}
- <tr class="empty"><td colspan="3"><em>No package todo lists to display</em></td></tr>
+ <tr class="empty"><td colspan="3"><em>No package todo lists to display</em></td></tr>
{% endfor %}
</tbody>
</table>
+ <h3>Developer Reports</h3>
+ <ul>
+ <li><a href="reports/big/">Big</a>:
+ All packages with compressed size &gt; 50 MiB
+ (<a href="reports/big/{{ user.username }}/">yours only</a>)</li>
+ <li><a href="reports/old/">Old</a>:
+ Packages last built more than two years ago
+ (<a href="reports/old/{{ user.username }}/">yours only</a>)</li>
+ <li><a href="reports/uncompressed-man/">Uncompressed Manpages</a>:
+ Self-explanatory
+ (<a href="reports/uncompressed-man/{{ user.username }}/">yours only</a>)</li>
+ <li><a href="reports/uncompressed-info/">Uncompressed Info Pages</a>:
+ Self-explanatory
+ (<a href="reports/uncompressed-info/{{ user.username }}/">yours only</a>)</li>
+ <li><a href="reports/unneeded-orphans/">Unneeded Orphans</a>:
+ Packages that have no maintainer and are not required by any other
+ package in any repository</li>
+ </ul>
+
</div><!-- #dev-dashboard -->
-<div id="dash-by-arch" class="dash-stats box">
+{% cache 60 dev-dash-by-arch %}
+<div id="dash-by-arch" class="box">
- <h3 class="dash-stats" style="cursor: pointer"
- title="Click to toggle stats by architecture">
- Stats by Architecture <span class="dash-click">(click to toggle)</span></h3>
+ <h2>Stats by Architecture</h2>
<table id="stats-by-arch" class="results dash-stats">
<thead>
@@ -119,14 +146,13 @@
{% endfor %}
</tbody>
</table>
+</div>{# #dash-by-arch #}
+{% endcache %}
-</div><!-- #dash-by-arch -->
-
-<div id="dash-by-repo" class="dash-stats box">
+{% cache 60 dev-dash-by-repo %}
+<div id="dash-by-repo" class="box">
- <h3 class="dashboard dash-stats" style="cursor: pointer"
- title="Click to toggle stats by repository">
- Stats by Repository <span class="dash-click">(click to toggle)</span></h3>
+ <h2>Stats by Repository</h2>
<table id="stats-by-repo" class="results dash-stats">
<thead>
@@ -150,14 +176,13 @@
{% endfor %}
</tbody>
</table>
+</div>{# dash-by-arch #}
+{% endcache %}
-</div><!-- dash-by-arch -->
+{% cache 60 dev-dash-by-maintainer %}
+<div id="dash-by-maintainer" class="box">
-<div id="dash-by-maintainer" class="dash-stats box">
-
- <h3 class="dashboard dash-stats" style="cursor: pointer"
- title="Click to toggle stats by maintainer">
- Stats by Maintainer <span class="dash-click">(click to toggle)</span></h3>
+ <h2>Stats by Maintainer</h2>
<table id="stats-by-maintainer" class="results dash-stats">
<thead>
@@ -166,6 +191,15 @@
<th># Packages</th>
<th># Flagged</th>
</tr>
+ <tr class="even">
+ <td><em>Orphan</em></td>
+ <td><a href="/packages/?maintainer=orphan"
+ title="View all orphan packages">
+ <strong>{{ orphan.package_count }}</strong> packages</a></td>
+ <td><a href="/packages/?maintainer=orphan&amp;flagged=Flagged"
+ title="View all flagged orphan packages">
+ <strong>{{ orphan.flagged_count }}</strong> packages</a></td>
+ </tr>
</thead>
<tbody>
{% for maint in maintainers %}
@@ -181,8 +215,9 @@
{% endfor %}
</tbody>
</table>
+</div>{# #dash-by-maintainer #}
+{% endcache %}
-</div><!-- #dash-by-maintainer -->
{% load cdn %}{% jquery %}
<script type="text/javascript" src="/media/jquery.tablesorter.min.js"></script>
<script type="text/javascript" src="/media/archweb.js"></script>
@@ -194,12 +229,9 @@ $(document).ready(function() {
{widgets: ['zebra'], sortList: [[0,0], [1,0]]});
$("#dash-todo:not(:has(tbody tr.empty))").tablesorter(
{widgets: ['zebra'], sortList: [[1,1]]});
- $("#stats-by-arch").add("#stats-by-repo").add("#stats-by-maintainer").tablesorter(
+ $(".dash-stats").tablesorter(
{widgets: ['zebra'], sortList: [[0,0]],
headers: { 1: { sorter: 'pkgcount' }, 2: { sorter: 'pkgcount' } } });
- $("h3.dash-stats").click(
- function(e) { $(this).next().toggle(); }
- );
});
</script>
{% endblock %}
diff --git a/templates/devel/packages.html b/templates/devel/packages.html
new file mode 100644
index 00000000..b8deb0bc
--- /dev/null
+++ b/templates/devel/packages.html
@@ -0,0 +1,62 @@
+{% extends "base.html" %}
+{% load attributes %}
+
+{% block title %}Parabola - {{ title }}{% endblock %}
+
+{% block content %}
+<div class="box">
+ <h2>{{ title }}{% if maintainer %},
+ maintained by {{ maintainer.get_full_name }}{% endif%}</h2>
+ <p>{{ packages|length }} package{{ packages|pluralize }} found.
+ {% if maintainer %}This report only includes packages maintained by
+ {{ maintainer.get_full_name }} ({{ maintainer.username }}).{% endif %}
+ </p>
+ <table class="results">
+ <thead>
+ <tr>
+ <th>Arch</th>
+ <th>Repo</th>
+ <th>Name</th>
+ <th>Version</th>
+ <th>Description</th>
+ <th>Last Updated</th>
+ <th>Build Date</th>
+ <th>Flag Date</th>
+ {% for name in column_names %}
+ <th>{{ name }}</th>
+ {% endfor %}
+ </tr>
+ </thead>
+ <tbody>
+ {% for pkg in packages %}
+ <tr class="{% cycle pkgr2,pkgr1 %}">
+ <td>{{ pkg.arch.name }}</td>
+ <td>{{ pkg.repo.name|capfirst }}</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 %}
+ <td>{{ pkg.full_version }}</td>
+ {% endif %}
+ <td class="wrap">{{ pkg.pkgdesc }}</td>
+ <td>{{ pkg.last_update|date }}</td>
+ <td>{{ pkg.build_date|date }}</td>
+ <td>{{ pkg.flag_date|date }}</td>
+ {% for attr in column_attrs %}
+ <td>{{ pkg|attribute:attr }}</td>
+ {% endfor %}
+ </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").tablesorter({widgets: ['zebra']});
+});
+</script>
+{% endblock %}
diff --git a/templates/feeds/news_description.html b/templates/feeds/news_description.html
index a1e6446f..e75d0af7 100644
--- a/templates/feeds/news_description.html
+++ b/templates/feeds/news_description.html
@@ -1,3 +1,3 @@
{% load markup %}
<p>{{obj.author.get_full_name}} wrote:</p>
-{{ obj.content|markdown }}
+{{ obj.content|markdown }} \ No newline at end of file
diff --git a/templates/feeds/news_title.html b/templates/feeds/news_title.html
index d355de5b..7899fce3 100644
--- a/templates/feeds/news_title.html
+++ b/templates/feeds/news_title.html
@@ -1 +1 @@
-{{ obj.title }}
+{{ obj.title }} \ No newline at end of file
diff --git a/templates/feeds/packages_description.html b/templates/feeds/packages_description.html
index 6b9c47b3..cfc42616 100644
--- a/templates/feeds/packages_description.html
+++ b/templates/feeds/packages_description.html
@@ -1 +1 @@
-{{ obj.pkgdesc }}
+{{ obj.pkgdesc }} \ No newline at end of file
diff --git a/templates/feeds/packages_title.html b/templates/feeds/packages_title.html
index 910c6207..f92ac684 100644
--- a/templates/feeds/packages_title.html
+++ b/templates/feeds/packages_title.html
@@ -1 +1 @@
-{{ obj.pkgname }} {{ obj.pkgver }}-{{ obj.pkgrel }} {{ obj.arch.name }}
+{{ obj.pkgname }} {{ obj.full_version }} {{ obj.arch.name }} \ No newline at end of file
diff --git a/templates/mirrors/mirror_details.html b/templates/mirrors/mirror_details.html
index 2edc61d4..1b44f65b 100644
--- a/templates/mirrors/mirror_details.html
+++ b/templates/mirrors/mirror_details.html
@@ -1,4 +1,5 @@
{% extends "base.html" %}
+{% load mirror_status %}
{% block title %}Parabola - {{ mirror.name }} - Mirror Details{% endblock %}
@@ -12,47 +13,105 @@
<tr>
<th>Name:</th>
<td>{{ mirror.name }}</td>
- </tr><tr>
+ </tr>
+ <tr>
<th>Tier:</th>
<td>{{ mirror.get_tier_display }}</td>
- </tr><tr>
+ </tr>
+ <tr>
+ <th>Country:</th>
+ <td>{{ mirror.country }}</td>
+ </tr>
+ <tr>
+ <th>Has ISOs:</th>
+ <td>{{ mirror.isos|yesno }}</td>
+ </tr>
+ {% if user.is_authenticated %}
+ <tr>
+ <th>Public:</th>
+ <td>{{ mirror.public|yesno }}</td>
+ </tr>
+ <tr>
+ <th>Active:</th>
+ <td>{{ mirror.active|yesno }}</td>
+ </tr>
+ <tr>
+ <th>Rsync IPs:</th>
+ <td class="wrap">{{mirror.rsync_ips.all|join:', '}}</td>
+ </tr>
+ <tr>
+ <th>Admin Email:</th>
+ <td>{% if mirror.admin_email %}<a href="mailto:{{ mirror.admin_email }}">{{ mirror.admin_email }}</a>{% else %}None{% endif %}</td>
+ </tr>
+ <tr>
+ <th>Notes:</th>
+ <td>{{ mirror.notes|linebreaks }}</td>
+ </tr>
+ <tr>
<th>Upstream:</th>
- <!-- TODO: linking to non-public mirrors -->
<td>{% if mirror.upstream %}
<a href="{{ mirror.upstream.get_absolute_url }}"
title="Mirror details for {{ mirror.upstream.name }}">{{ mirror.upstream.name }}</a>
{% else %}None{% endif %}</td>
- </tr><tr>
+ </tr>
+ <tr>
<th>Downstream:</th>
{% with mirror.downstream as ds_mirrors %}
<td>{% if ds_mirrors %}
{% for ds in ds_mirrors %}
<a href="{{ ds.get_absolute_url }}"
- title="Mirror details for {{ ds.name }}">{{ ds.name }}</a><br/>
+ title="Mirror details for {{ ds.name }}">{{ ds.name }}</a>
+ {% if not ds.active %}<span class="testing-dep">(inactive)</span>{% endif %}
+ {% if not ds.public %}<span class="testing-dep">(private)</span>{% endif %}
+ <br/>
{% endfor %}
- {% else %}None{% endif %}
- </td>
- {% endwith %}
- </tr><tr>
- <th>Country:</th>
- <td>{{ mirror.country }}</td>
- </tr><tr>
- <th>Has ISOs:</th>
- <td>{{ mirror.isos|yesno }}</td>
- </tr><tr>
- <th>Protocols:</th>
- <td>{{ mirror.supported_protocols }}</td>
- </tr><tr>
- <th>Mirror URLs:</th>
- {% with mirror.urls.all as urls %}
- <td>{% if urls %}
- {% for u in urls %}
- <a href="{{ u.url }}">{{ u.url }}</a><br/>
- {% endfor %}
- {% else %}None{% endif %}
- </td>
+ {% else %}None{% endif %}</td>
{% endwith %}
</tr>
+ {% endif %}
+ </table>
+
+ <h3>Available URLs</h3>
+
+ <table id="available_urls" class="results">
+ <thead>
+ <tr>
+ <th>Mirror URL</th>
+ <th>IPv4</th>
+ <th>IPv6</th>
+ <th>Last Sync</th>
+ <th>Completion %</th>
+ <th>μ Delay (hh:mm)</th>
+ <th>μ Duration (secs)</th>
+ <th>σ Duration (secs)</th>
+ <th>Mirror Score</th>
+ </tr>
+ </thead>
+ <tbody>
+ {% for m_url in urls %}
+ <tr class="{% cycle 'odd' 'even' %}">
+ <td>{% if m_url.protocol.is_download %}<a href="{{ m_url.url }}">{{ m_url.url }}</a>{% else %}{{ m_url.url }}{% endif %}</td>
+ <td>{{ m_url.has_ipv4|yesno }}</td>
+ <td>{{ m_url.has_ipv6|yesno }}</td>
+ <td>{{ m_url.last_sync|date:'Y-m-d H:i'|default:'unknown' }}</td>
+ <td>{{ m_url.completion_pct|percentage:1 }}</td>
+ <td>{{ m_url.delay|duration|default:'unknown' }}</td>
+ <td>{{ m_url.duration_avg|floatformat:2 }}</td>
+ <td>{{ m_url.duration_stddev|floatformat:2 }}</td>
+ <td>{{ m_url.score|floatformat:1|default:'∞' }}</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() {
+ $("#available_urls:has(tbody tr)").tablesorter(
+ {widgets: ['zebra'], sortList: [[0,0]],
+ headers: { 6: { sorter: 'mostlydigit' }, 7: { sorter: 'mostlydigit' }, 8: { sorter: 'mostlydigit' } } });
+});
+</script>
{% endblock %}
diff --git a/templates/mirrors/mirrorlist.txt b/templates/mirrors/mirrorlist.txt
index c5197e91..b91c52a2 100644
--- a/templates/mirrors/mirrorlist.txt
+++ b/templates/mirrors/mirrorlist.txt
@@ -8,6 +8,6 @@ content right, and then go back later to fix it all up.
## Generated on {% now "Y-m-d" %}
##{% for mirror_url in mirror_urls %}{% ifchanged %}
-## {{ mirror_url.mirror.country }}{% endifchanged %}
+## {{ mirror_url.real_country }}{% endifchanged %}
#Server = {{ mirror_url.url}}$repo/os/$arch{% endfor %}
{% endautoescape %}
diff --git a/templates/mirrors/mirrorlist_status.txt b/templates/mirrors/mirrorlist_status.txt
index dbc03911..5bf94287 100644
--- a/templates/mirrors/mirrorlist_status.txt
+++ b/templates/mirrors/mirrorlist_status.txt
@@ -8,6 +8,6 @@ content right, and then go back later to fix it all up.
## Sorted by mirror score from mirror status page
## Generated on {% now "Y-m-d" %}
{% for mirror_url in mirror_urls %}
-## Score: {{ mirror_url.score|floatformat:1|default:'unknown' }}, {{ mirror_url.mirror.country }}
+## Score: {{ mirror_url.score|floatformat:1|default:'unknown' }}, {{ mirror_url.real_country }}
#Server = {{ mirror_url.url}}$repo/os/$arch{% endfor %}
{% endautoescape %}
diff --git a/templates/mirrors/mirrors.html b/templates/mirrors/mirrors.html
index 7562cb6f..41cca6fa 100644
--- a/templates/mirrors/mirrors.html
+++ b/templates/mirrors/mirrors.html
@@ -15,7 +15,6 @@
{% if user.is_authenticated %}
<th>Public</th>
<th>Active</th>
- <th>Rsync IPs</th>
<th>Admin Email</th>
<th>Notes</th>
{% endif %}
@@ -33,7 +32,6 @@
{% if user.is_authenticated %}
<td>{{mirror.public|yesno}}</td>
<td>{{mirror.active|yesno}}</td>
- <td class="wrap">{{mirror.rsync_ips.all|join:', '}}</td>
<td>{{mirror.admin_email}}</td>
<td class="wrap">{{mirror.notes|linebreaks}}</td>
{% endif %}
diff --git a/templates/mirrors/status.html b/templates/mirrors/status.html
index cd56f8f9..f315f7c3 100644
--- a/templates/mirrors/status.html
+++ b/templates/mirrors/status.html
@@ -91,7 +91,7 @@
<tr class="{% cycle 'odd' 'even' %}">
<td>{{ log.url__url }}</td>
<td>{{ log.url__protocol__protocol }}</td>
- <td>{{ log.url__mirror__country }}</td>
+ <td>{{ log.country }}</td>
<td>{{ log.error }}</td>
<td>{{ log.last_occurred|date:'Y-m-d H:i' }}</td>
<td>{{ log.error_count }}</td>
@@ -106,12 +106,11 @@
<script type="text/javascript" src="/media/archweb.js"></script>
<script type="text/javascript">
$(document).ready(function() {
+ var headers = { 5: { sorter: 'duration' }, 6: { sorter: 'mostlydigit' }, 7: { sorter: 'mostlydigit' }, 8: { sorter: 'mostlydigit' } };
$("#outofsync_mirrors:has(tbody tr)").tablesorter(
- {widgets: ['zebra'], sortList: [[3,1]],
- headers: { 6: { sorter: 'mostlydigit' }, 7: { sorter: 'mostlydigit' }, 8: { sorter: 'mostlydigit' } } });
+ {widgets: ['zebra'], sortList: [[3,1]], headers: headers });
$("#successful_mirrors:has(tbody tr)").tablesorter(
- {widgets: ['zebra'], sortList: [[8,0]],
- headers: { 6: { sorter: 'mostlydigit' }, 7: { sorter: 'mostlydigit' }, 8: { sorter: 'mostlydigit' } } });
+ {widgets: ['zebra'], sortList: [[8,0]], headers: headers });
$("#errorlog_mirrors:has(tbody tr)").tablesorter(
{widgets: ['zebra'], sortList: [[4,1], [5,1]]});
});
diff --git a/templates/mirrors/status_table.html b/templates/mirrors/status_table.html
index 240a5452..72de25dc 100644
--- a/templates/mirrors/status_table.html
+++ b/templates/mirrors/status_table.html
@@ -18,7 +18,7 @@
<tr class="{% cycle 'odd' 'even' %}">
<td>{{ m_url.url }}</td>
<td>{{ m_url.protocol }}</td>
- <td>{{ m_url.mirror.country }}</td>
+ <td>{{ m_url.real_country }}</td>
<td>{{ m_url.last_sync|date:'Y-m-d H:i'|default:'unknown' }}</td>
<td>{{ m_url.completion_pct|percentage:1 }}</td>
<td>{{ m_url.delay|duration|default:'unknown' }}</td>
diff --git a/templates/news/add.html b/templates/news/add.html
index 0534826c..fd75253c 100644
--- a/templates/news/add.html
+++ b/templates/news/add.html
@@ -23,14 +23,14 @@
<p>
<label></label>
<input title="Save changes" type="submit" value="Save" />
- <input id="previewbtn" title="Preview" type="button" value="Preview" />
+ <input id="news-preview-button" title="Preview" type="button" value="Preview" />
</p>
</form>
</div>
-<div class="news-article box" style="display:none;">
- <h2>News Preview: <span id="previewtitle"></span></h2>
- <div id="previewdata" class="article-content"></div>
+<div id="news-preview" class="news-article box" style="display:none;">
+ <h2>News Preview: <span id="news-preview-title"></span></h2>
+ <div id="news-preview-data" class="article-content"></div>
</div>
{% load cdn %}{% jquery %}
<script type="text/javascript" src="/media/archweb.js"></script>
diff --git a/templates/packages/details.html b/templates/packages/details.html
index 4fae6c68..f1b16e4c 100644
--- a/templates/packages/details.html
+++ b/templates/packages/details.html
@@ -1,29 +1,28 @@
{% extends "base.html" %}
{% load cache %}
-{% block title %}Parabola - {{ pkg.pkgname }} {{ pkg.pkgver }}-{{ pkg.pkgrel }} - Package Details{% endblock %}
+{% block title %}Parabola - {{ pkg.pkgname }} {{ pkg.full_version }} - Package Details{% endblock %}
{% block navbarclass %}anb-packages{% endblock %}
{% load package_extras %}
{% block content %}
<div id="pkgdetails" class="box">
- <h2>Package Details: {{ pkg.pkgname }} {{ pkg.pkgver }}-{{ pkg.pkgrel }}</h2>
+ <h2>Package Details: {{ pkg.pkgname }} {{ pkg.full_version }}</h2>
<div id="detailslinks" class="listing">
<div id="actionlist">
<h4>Package Actions</h4>
<ul class="small">
- <li><a href="{{ pkg.get_arch_svn_link }}" title="View SVN entries in the {{pkg.repo|lower}}-{{pkg.arch}} branch">SVN Entries ({{pkg.repo|lower}}-{{pkg.arch}})</a></li>
- <li><a href="{{ pkg.get_trunk_svn_link }}" title="View SVN entries on trunk">SVN Entries (trunk)</a></li>
- <li><a href="{{ pkg.get_bugs_link }}" title="View existing bug tickets for {{ pkg.pkgname }}">Bug Reports</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>
{% if pkg.flag_date %}
<li><span class="flagged">Flagged out-of-date on {{ pkg.flag_date|date }}</span></li>
{% with pkg.in_testing as tp %}{% if tp %}
<li><span class="flagged">Version
<a href="{{ tp.get_absolute_url }}"
- title="Testing package details for {{ tp.pkgname }}">{{ tp.pkgver }}-{{ tp.pkgrel }}</a>
+ title="Testing package details for {{ tp.pkgname }}">{{ tp.full_version }}</a>
in testing</span></li>
{% endif %}{% endwith %}
{% if perms.main.change_package %}
@@ -58,7 +57,7 @@
<ul>
{% for o in others %}
<li><a href="{{ o.get_absolute_url }}"
- title="Package details for {{ o.pkgname }}">{{ o.pkgname }} {{ o.pkgver }}-{{ o.pkgrel }} [{{ o.repo.name|lower }}] ({{ o.arch.name }})</a></li>
+ title="Package details for {{ o.pkgname }}">{{ o.pkgname }} {{ o.full_version }} [{{ o.repo.name|lower }}] ({{ o.arch.name }})</a></li>
{% endfor %}
</ul>
</div>
@@ -96,13 +95,14 @@
<td><a href="{{ pkg.base_package.get_absolute_url }}"
title="Package details for {{ pkg.base_package.pkgname }}">{{ pkg.pkgbase }}</a></td>
{% else %}
- <td>{{ pkg.pkgbase }}</td>
+ <td><a href="../{{ pkg.pkgbase }}/"
+ title="Split package details for {{ pkg.pkgbase }}">{{ pkg.pkgbase }}</a></td>
{% endif %}
</tr>
{% endifequal %}
<tr>
<th>Description:</th>
- <td class="wrap">{% if pkg.pkgdesc %}{{ pkg.pkgdesc }}{% endif %}</td>
+ <td class="wrap">{{ pkg.pkgdesc|default:"" }}</td>
</tr><tr>
<th>Upstream URL:</th>
<td>{% if pkg.url %}<a href="{{ pkg.url }}"
diff --git a/templates/packages/differences.html b/templates/packages/differences.html
index ba2d9bf5..69c39756 100644
--- a/templates/packages/differences.html
+++ b/templates/packages/differences.html
@@ -45,12 +45,12 @@
{% if diff.pkg_a %}
<td><a href="{{ diff.pkg_a.get_absolute_url }}"
title="View package details for {{ diff.pkg_a.pkgname }}">
- <span{% if diff.pkg_a.flag_date %} class="flagged"{% endif %}>{{ diff.pkg_a.pkgver }}-{{ diff.pkg_a.pkgrel }}</span></a></td>
+ <span{% if diff.pkg_a.flag_date %} class="flagged"{% endif %}>{{ diff.pkg_a.full_version }}</span></a></td>
{% else %}<td>-</td>{% endif %}
{% if diff.pkg_b %}
<td><a href="{{ diff.pkg_b.get_absolute_url }}"
title="View package details for {{ diff.pkg_b.pkgname }}">
- <span{% if diff.pkg_b.flag_date %} class="flagged"{% endif %}>{{ diff.pkg_b.pkgver }}-{{ diff.pkg_b.pkgrel }}</span></a></td>
+ <span{% if diff.pkg_b.flag_date %} class="flagged"{% endif %}>{{ diff.pkg_b.full_version }}</span></a></td>
{% else %}<td>-</td>{% endif %}
</tr>
{% endfor %}
diff --git a/templates/packages/files.html b/templates/packages/files.html
index cd6b4c46..149154a6 100644
--- a/templates/packages/files.html
+++ b/templates/packages/files.html
@@ -1,11 +1,11 @@
{% extends "base.html" %}
-{% block title %}Parabola - {{ pkg.pkgname }} {{ pkg.pkgver }}-{{ pkg.pkgrel }} - Package File List{% endblock %}
+{% block title %}Parabola - {{ pkg.pkgname }} {{ pkg.full_version }} - Package File List{% endblock %}
{% block navbarclass %}anb-packages{% endblock %}
{% block content %}
<div id="pkgdetails" class="box">
- <h2>Package File List: {{ pkg.pkgname }} {{ pkg.pkgver }}-{{ pkg.pkgrel }}</h2>
+ <h2>Package File List: {{ pkg.pkgname }} {{ pkg.full_version }}</h2>
<div id="metadata">
<p><a href="{{ pkg.get_absolute_url }}">Back to Package</a></p>
{% include "packages/files-list.html" %}
diff --git a/templates/packages/flag.html b/templates/packages/flag.html
index d947b573..74f6982c 100644
--- a/templates/packages/flag.html
+++ b/templates/packages/flag.html
@@ -1,42 +1,40 @@
{% extends "base.html" %}
-{% block title %}Parabola - Flag Package - {{ pkg.pkgname }}{% endblock %}
+{% block title %}Parabola - Flag Package - {{ package.pkgname }}{% endblock %}
{% block navbarclass %}anb-packages{% endblock %}
{% block content %}
<div id="pkg-flag" class="box">
-{% if confirmed %}
- <h2>Package Flagged</h2>
-
- <p>Thank you, the maintainers have been notified about <strong>{{ pkg.pkgname }}</strong>.</p>
-
- <p>You can return to the package details page for
- <a href="{{ pkg.get_absolute_url }}" title="Package details for {{pkg.pkgname}}">{{pkg.pkgname}}</a>.</p>
-{% else %}
- <h2>Flag Package: {{ pkg.pkgname }}</h2>
+ <h2>Flag Package: {{ package.pkgname }}</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.</p>
+ <p>Note that all of the following packages will be marked out of date:</p>
+ <ul>
+ {% for pkg in packages %}
+ <li>{{ pkg.pkgname }} {{ pkg.full_version }} [{{ pkg.repo.name|lower }}] ({{ pkg.arch.name }})</li>
+ {% endfor %}
+ </ul>
+
<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://mailman.archlinux.org/mailman/listinfo/arch-general"
- title="Visit the arch-general mailing list">arch-general mailing list</a>
+ an email to the <a href="http://list.parabolagnulinux.org/listinfo.cgi/dev-parabolagnulinux.org"
+ title="Visit the dev mailing list">Parabola Development 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 href="https://bugs.archlinux.org"
- title="Parabola Bugtracker">bug tracker</a> instead.</p>
+ package is broken! Please <a href="https://bugs.parabolagnulinux.org"
+ title="Parabola Bugtracker">file a bug</a> instead.</p>
- <p>Please confirm your flag request for {{pkg.pkgname}}:</p>
+ <p>Please confirm your flag request for {{package.pkgname}}:</p>
<form id="flag-pkg-form" method="post">{% csrf_token %}
<fieldset>
{{ form.as_p }}
</fieldset>
- <p><label></label> <input title="Flag {{ pkg.pkgname }} as out-of-date" type="submit" value="Flag Package" /></p>
+ <p><label></label> <input title="Flag {{ package.pkgname }} as out-of-date" type="submit" value="Flag Package" /></p>
</form>
-{% endif %}
</div>
{% endblock %}
diff --git a/templates/packages/flag_confirmed.html b/templates/packages/flag_confirmed.html
new file mode 100644
index 00000000..baa466dd
--- /dev/null
+++ b/templates/packages/flag_confirmed.html
@@ -0,0 +1,19 @@
+{% extends "base.html" %}
+{% block title %}Parabola - Package Flagged - {{ package.pkgname }}{% 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>
+ <ul>
+ {% for pkg in packages %}
+ <li>{{ pkg.pkgname }} {{ pkg.full_version }} [{{ pkg.repo.name|lower }}] ({{ pkg.arch.name }})</li>
+ {% endfor %}
+ </ul>
+
+ <p>You can return to the package details page for
+ <a href="{{ package.get_absolute_url }}" title="Package details for {{package.pkgname}}">{{package.pkgname}}</a>.</p>
+</div>
+{% endblock %}
diff --git a/templates/packages/flaghelp.html b/templates/packages/flaghelp.html
index d96ccd43..4a9d1cdf 100644
--- a/templates/packages/flaghelp.html
+++ b/templates/packages/flaghelp.html
@@ -25,12 +25,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 target="_blank" href="http://mailman.archlinux.org/mailman/listinfo/arch-general"
- title="Visit the arch-general mailing list">arch-general mailing list</a>
+ an email to the <a target="_blank"
+ href="http://list.parabolagnulinux.org/listinfo.cgi/dev-parabolagnulinux.org"
+ 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.archlinux.org"
+ package is broken! Use the <a target="_blank" href="https://bugs.parabolagnulinux.org"
title="Parabola Bugtracker">bugtracker</a> instead.</p>
</body>
diff --git a/templates/packages/opensearch.xml b/templates/packages/opensearch.xml
index ea040788..e54507ee 100644
--- a/templates/packages/opensearch.xml
+++ b/templates/packages/opensearch.xml
@@ -2,7 +2,7 @@
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/">
<ShortName>Parabola Packages</ShortName>
<Description>Search the Parabola package repositories.</Description>
- <Tags>linux archlinux package software</Tags>
+ <Tags>gnu linuxlibre parabola package software</Tags>
<Image height="16" width="16" type="image/x-icon">{{domain}}/media/favicon.ico</Image>
<Language>en-us</Language>
<InputEncoding>UTF-8</InputEncoding>
diff --git a/templates/packages/outofdate.txt b/templates/packages/outofdate.txt
index 93abea03..4876c316 100644
--- a/templates/packages/outofdate.txt
+++ b/templates/packages/outofdate.txt
@@ -1,9 +1,7 @@
-{% autoescape off %}{{ email }} wants to notify you that the following package may be out-of-date:
+{% autoescape off %}{{ email }} wants to notify you that the following packages may be out-of-date:
- Package Name: {{ pkg.pkgname }}
- Architecture: {{ pkg.arch.name }}
- Repository: {{ pkg.repo.name }}
- ({{ weburl }})
+{% for p in packages %}
+* {{ p.pkgname }} {{ p.full_version }} [{{ p.repo.name|lower }}] ({{ p.arch.name }}): {{ p.get_full_url }}{% endfor %}
{% if message %}
The user provided the following additional text:
diff --git a/templates/packages/group_details.html b/templates/packages/packages_list.html
index ee4f61d3..2508d8fd 100644
--- a/templates/packages/group_details.html
+++ b/templates/packages/packages_list.html
@@ -1,10 +1,10 @@
{% extends "base.html" %}
-{% block title %}Parabola - {{ groupname }} - {{ arch.name }} - Group Details{% endblock %}
+{% block title %}Parabola - {{ name }} ({{ arch.name }}) - {{ list_title }}{% endblock %}
{% block navbarclass %}anb-packages{% endblock %}
{% block content %}
<div class="box">
- <h2>Details for group {{ groupname }} - {{ arch.name }}</h2>
+ <h2>{{ list_title }} - {{ name }} ({{ arch.name }})</h2>
<table class="results">
<thead>
<tr>
@@ -14,6 +14,7 @@
<th>Version</th>
<th>Description</th>
<th>Last Updated</th>
+ <th>Flag Date</th>
</tr>
</thead>
<tbody>
@@ -24,12 +25,13 @@
<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.pkgver }}-{{ pkg.pkgrel }}</span></td>
+ <td><span class="flagged">{{ pkg.full_version }}</span></td>
{% else %}
- <td>{{ pkg.pkgver }}-{{ pkg.pkgrel }}</td>
+ <td>{{ pkg.full_version }}</td>
{% endif %}
<td class="wrap">{{ pkg.pkgdesc }}</td>
<td>{{ pkg.last_update|date }}</td>
+ <td>{{ pkg.flag_date|date }}</td>
</tr>
{% endfor %}
</tbody>
diff --git a/templates/packages/search.html b/templates/packages/search.html
index 74f7ede3..ae9e55f2 100644
--- a/templates/packages/search.html
+++ b/templates/packages/search.html
@@ -14,28 +14,36 @@
<h3>Package Search</h3>
- <form id="pkg-search" method="get" action="/packages/">
- <p><input type="hidden" name="sort" value='{{sort}}' /></p>
- <fieldset>
- <legend>Enter search criteria</legend>
- <div><label for="id_arch" title="Limit results a specific CPU architecture">
- Arch</label>{{ search_form.arch }}</div>
- <div><label for="id_repo" title="Limit results to a specific respository">
- Repository</label>{{ search_form.repo }}</div>
- <div><label for="id_q" title="Enter keywords as desired">
- Keywords</label>{{ search_form.q }}</div>
- <div><label for="id_maintainer" title="Limit results to a specific maintainer">
- Maintainer</label>{{ search_form.maintainer}}</div>
- <div><label for="id_last_update" title="Limit results to a date after the date entered">
- Last Updated After</label>{{ search_form.last_update }}</div>
- <div><label for="id_flagged" title="Limit results based on out-of-date status">
- Flagged</label>{{ search_form.flagged }}</div>
- <div><label for="id_limit" title="Select the number of results to display per page">
- Per Page</label>{{ search_form.limit }}</div>
- <div ><label>&nbsp;</label><input title="Search for packages using this criteria"
- type="submit" value="Search" /></div>
- </fieldset>
- </form>
+ <form id="pkg-search" method="get" action="/packages/">
+ <p><input type="hidden" name="sort" value='{{sort}}' /></p>
+ {{ search_form.non_field_errors }}
+ <fieldset>
+ <legend>Enter search criteria</legend>
+ <div>{{ search_form.arch.errors }}
+ <label for="id_arch" title="Limit results a specific CPU architecture">
+ Arch</label>{{ search_form.arch }}</div>
+ <div>{{ search_form.repo.errors }}
+ <label for="id_repo" title="Limit results to a specific respository">
+ Repository</label>{{ search_form.repo }}</div>
+ <div>{{ search_form.q.errors }}
+ <label for="id_q" title="Enter keywords as desired">
+ Keywords</label>{{ search_form.q }}</div>
+ <div>{{ search_form.maintainer.errors }}
+ <label for="id_maintainer" title="Limit results to a specific maintainer">
+ Maintainer</label>{{ search_form.maintainer}}</div>
+ <div>{{ search_form.last_update.errors }}
+ <label for="id_last_update" title="Limit results to a date after the date entered">
+ Last Updated After</label>{{ search_form.last_update }}</div>
+ <div>{{ search_form.flagged.errors }}
+ <label for="id_flagged" title="Limit results based on out-of-date status">
+ Flagged</label>{{ search_form.flagged }}</div>
+ <div>{{ search_form.limit.errors }}
+ <label for="id_limit" title="Select the number of results to display per page">
+ Per Page</label>{{ search_form.limit }}</div>
+ <div ><label>&nbsp;</label><input title="Search for packages using this criteria"
+ type="submit" value="Search" /></div>
+ </fieldset>
+ </form>
</div><!-- #pkglist-search -->
@@ -50,13 +58,13 @@
<p class="pkglist-nav">
{% if page_obj.has_previous %}
- <a class="prev" href="/packages/{{page_obj.previous_page_number}}/{{current_query}}"
+ <a class="prev" href="/packages/{{page_obj.previous_page_number}}/?{{current_query}}"
title="Go to previous page">&lt; Prev</a>
{% else %}
<span class="prev">&lt; Prev</span>
{% endif %}
{% if page_obj.has_next %}
- <a class="next" href="/packages/{{page_obj.next_page_number}}/{{current_query}}"
+ <a class="next" href="/packages/{{page_obj.next_page_number}}/?{{current_query}}"
title="Go to next page">Next &gt;</a>
{% else %}
<span class="next">Next &gt;</span>
@@ -74,17 +82,17 @@
{% if perms.main.change_package %}
<th>&nbsp;</th>
{% endif %}
- <th><a href="/packages/{% buildsortqs "arch" %}"
+ <th><a href="/packages/?{% buildsortqs "arch" %}"
title="Sort packages by architecture">Arch</a></th>
- <th><a href="/packages/{% buildsortqs "repo" %}"
+ <th><a href="/packages/?{% buildsortqs "repo" %}"
title="Sort packages by repository">Repo</a></th>
- <th><a href="/packages/{% buildsortqs "pkgname" %}"
+ <th><a href="/packages/?{% buildsortqs "pkgname" %}"
title="Sort packages by package name">Name</a></th>
<th>Version</th>
<th>Description</th>
- <th><a href="/packages/{% buildsortqs "-last_update" %}"
+ <th><a href="/packages/?{% buildsortqs "-last_update" %}"
title="Sort packages by last update">Last Updated</a></th>
- <th><a href="/packages/{% buildsortqs "-flag_date" %}"
+ <th><a href="/packages/?{% buildsortqs "-flag_date" %}"
title="Sort packages by when marked-out of-date">Flag Date</a></th>
</tr>
</thead>
@@ -99,9 +107,9 @@
<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.pkgver }}-{{ pkg.pkgrel }}</span></td>
+ <td><span class="flagged">{{ pkg.full_version }}</span></td>
{% else %}
- <td>{{ pkg.pkgver }}-{{ pkg.pkgrel }}</td>
+ <td>{{ pkg.full_version }}</td>
{% endif %}
<td class="wrap">{{ pkg.pkgdesc }}</td>
<td>{{ pkg.last_update|date }}</td>
@@ -118,13 +126,13 @@
<p class="pkglist-nav">
{% if page_obj.has_previous %}
- <a class="prev" href="/packages/{{page_obj.previous_page_number}}/{{current_query}}"
+ <a class="prev" href="/packages/{{page_obj.previous_page_number}}/?{{current_query}}"
title="Go to previous page">&lt; Prev</a>
{% else %}
<span class="prev">&lt; Prev</span>
{% endif %}
{% if page_obj.has_next %}
- <a class="next" href="/packages/{{page_obj.next_page_number}}/{{current_query}}"
+ <a class="next" href="/packages/{{page_obj.next_page_number}}/?{{current_query}}"
title="Go to next page">Next &gt;</a>
{% else %}
<span class="next">Next &gt;</span>
@@ -147,18 +155,17 @@
{% else %}
<div class="box">
<p>We couldn't find any packages matching your query. Try searching again
- using different criteria, or try
- {% if search_form.q.data %}
- <a href="https://aur.archlinux.org/packages.php?K={{ search_form.q.data }}">searching the AUR</a>
- {% else %}searching the AUR{% endif %}
- to see if the package can be found there.</p>
+ 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.</p>
-</div>
+ <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'
+ 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>
diff --git a/templates/packages/signoffs.html b/templates/packages/signoffs.html
index a9cce4a8..157843ac 100644
--- a/templates/packages/signoffs.html
+++ b/templates/packages/signoffs.html
@@ -26,7 +26,7 @@
<td>{{ pkg.arch.name }}</td>
<td><a href="{{ pkg.get_absolute_url }}"
title="View package details for {{ pkg.pkgname }}">{{ pkg.pkgname }}</a></td>
- <td>{{ pkg.pkgver }}-{{ pkg.pkgrel }}</td>
+ <td>{{ pkg.full_version }}</td>
<td>{{ pkg.last_update }}</td>
<td>{{ target }}</td>
<td class="signoff-{{pkg.approved_for_signoff|yesno}}">
diff --git a/templates/packages/stale_relations.html b/templates/packages/stale_relations.html
index 8e2f8930..6cff8d3d 100644
--- a/templates/packages/stale_relations.html
+++ b/templates/packages/stale_relations.html
@@ -1,5 +1,5 @@
{% extends "base.html" %}
-{% block title %}Arch Linux - Stale Package Relations{% endblock %}
+{% block title %}Parabola - Stale Package Relations{% endblock %}
{% block navbarclass %}anb-packages{% endblock %}
{% block content %}
@@ -17,6 +17,7 @@
<th>Packages</th>
<th>User</th>
<th>Type</th>
+ <th>Created</th>
</tr>
</thead>
<tbody>
@@ -30,6 +31,7 @@
{% endfor %}</td>
<td>{{ relation.user.get_full_name }}</td>
<td>{{ relation.get_type_display }}</td>
+ <td>{{ relation.created }}</td>
</tr>
{% empty %}
<tr class="empty"><td colspan="5"><em>No inactive user relations.</em></td></tr>
@@ -46,6 +48,7 @@
<th>Package Base</th>
<th>User</th>
<th>Type</th>
+ <th>Created</th>
</tr>
</thead>
<tbody>
@@ -55,6 +58,7 @@
<td>{{ relation.pkgbase }}</td>
<td>{{ relation.user.get_full_name }}</td>
<td>{{ relation.get_type_display }}</td>
+ <td>{{ relation.created }}</td>
</tr>
{% empty %}
<tr class="empty"><td colspan="4"><em>No non-existent pkgbase relations.</em></td></tr>
@@ -71,6 +75,7 @@
<th>Package Base</th>
<th>Packages</th>
<th>User</th>
+ <th>Created</th>
<th>Allowed Repos</th>
<th>Currently in Repos</th>
</tr>
@@ -85,6 +90,7 @@
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.created }}</td>
<td class="wrap">{{ relation.user.userprofile.allowed_repos.all|join:", " }}</td>
<td class="wrap">{{ relation.repositories|join:", " }}</td>
</tr>
diff --git a/templates/public/feeds.html b/templates/public/feeds.html
index 5aa5df20..79e8a1aa 100644
--- a/templates/public/feeds.html
+++ b/templates/public/feeds.html
@@ -6,7 +6,7 @@
<h2>RSS Feeds</h2>
- <p>Several RSS feeds are available for consumption from the Arch website.
+ <p>Several RSS feeds are available for consumption from the Parabola website.
The majority of these are package-related and allow feeds to be customized
for the updates you care about.</p>
@@ -58,12 +58,5 @@
</tbody>
</table>
- <p>A <a href="https://aur.archlinux.org/rss.php" class="rss" title="AUR newest packages feed">newest packages feed</a>
- is also available from the <a href="https://aur.archlinux.org/" title="AUR
- Homepage">Arch User Repository (AUR)</a>, but be specially aware that sometimes,
- unfree software gets uploaded there, <em>at least until we found a solution
- to it.</em></p>
-
-
</div>
{% endblock %}
diff --git a/templates/public/index.html b/templates/public/index.html
index ff11994f..6254d7b0 100644
--- a/templates/public/index.html
+++ b/templates/public/index.html
@@ -73,15 +73,13 @@
<table>
{% for update in pkg_updates %}
- {% with update|first as fpkg %}
<tr>
- <td class="pkg-name"><span class="{{ fpkg.repo|lower }}">{{ fpkg.pkgname }} {{ fpkg.pkgver }}-{{ fpkg.pkgrel }}</span></td>
- <td class="pkg-arch">
- {% for pkg in update %}<a href="{{ pkg.get_absolute_url }}"
+ <td class="pkg-name"><span class="{{ update.repo|lower }}">{{ update.pkgbase }} {{ update.version }}</span></td>
+ <td class="pkg-arch">
+ {% for pkg in update.package_links %}<a href="{{ pkg.get_absolute_url }}"
title="Details for {{ pkg.pkgname }} [{{ pkg.repo|lower }}]">{{ pkg.arch }}</a>{% if not forloop.last %}/{% endif %}{% endfor %}
</td>
</tr>
- {% endwith %}
{% endfor %}
</table>
</div>
@@ -145,14 +143,12 @@
title="View/search the package repository database">Packages</a></li>
<li><a href="/groups/"
title="View the available package groups">Package Groups</a></li>
- <li><a href="http://projects.parabolagnulinux.org"
+ <li><a href="https://projects.parabolagnulinux.org"
title="Official Parabola projects (git)">Projects in Git</a></li>
- <li><a href="http://bugs.parabolagnulinux.org/"
+ <li><a href="https://bugs.parabolagnulinux.org/"
title="Parabola's Issue Tracker">Issue Tracker</a></li>
- {% comment %}
<li><a href="/todolists/"
- title="Todo Lists">Todo Lists</a></li>
- {% endcomment %}
+ title="Hacker Todo Lists">Todo Lists</a></li>
</ul>
<h4>About</h4>
diff --git a/templates/public/svn.html b/templates/public/svn.html
index 10a58ba6..80367eaf 100644
--- a/templates/public/svn.html
+++ b/templates/public/svn.html
@@ -3,38 +3,11 @@
{% block content %}
<div class="box">
<h2 class="title">SVN Repositories</h2>
- <p>
- The PKGBUILD files can be fetched via the ABS utility. To learn more
- about ABS, see <a href="https://wiki.archlinux.org/index.php/ABS">the ABS wiki page</a>.
- </p>
- <p>The SVN repositories have been cloned into git repositories and can be
- viewed via the cgit interface.
- <a href="http://projects.archlinux.org/svntogit/packages.git/">All
- packages</a> are available here except for
- <a href="http://projects.archlinux.org/svntogit/community.git/">community
- and multilib</a> which are available in a different repository.</p>
- <p>
- You can also get individual PKGBUILDs directly from SVN. This can be
- especially useful if you need to compile an older version of a package.
- <strong>DO NOT CHECK OUT THE ENTIRE SVN REPO</strong>. Your address may be
- blocked. Use the following commands to check out a specific package:
+ <p>Parabola doesn't use any SVN repositories. But you can find our <a
+ href="https://projects.parabolagnulinux.org" title="Projects
+ page">Projects</a> on git!
</p>
- <pre>svn checkout --depth=empty svn://svn.archlinux.org/packages
-cd packages
-svn update &lt;your-package-name&gt;</pre>
-
- For the community and multilib repositories, use the following commands
- instead:
- <pre>svn checkout --depth=empty svn://svn.archlinux.org/community
-cd community
-svn update &lt;your-package-name&gt;</pre>
-
- <p>
- Visit <a href="https://wiki.archlinux.org/index.php?title=Getting_PKGBUILDS_From_SVN">the wiki</a>
- for more tips on checking out and updating svn PKGBUILDs.
- </p>
-
</div>
<br /><br />
{% endblock %}
diff --git a/templates/releng/add.html b/templates/releng/add.html
new file mode 100644
index 00000000..428812c9
--- /dev/null
+++ b/templates/releng/add.html
@@ -0,0 +1,27 @@
+{% extends "base.html" %}
+
+{% block title %}Parabola - Test Result Entry{% endblock %}
+
+{% block content %}
+<div class="box">
+ <h2>Parabola Releng Testbuild Feedback Entry</h2>
+
+ <p>This page allows you to submit feedback after testing an Parabola
+ installation using a release engineering testbuild. Mark all the
+ options you used during the installation; at the end you can specify
+ whether everything went OK. Be sure to only denote a successful
+ install after having checked the installation properly. Some options
+ require you to check several things (such as config files), this will
+ be mentioned alongside the option.</p> <p>There is also an overview of
+ all feedback on the <a href="{% url releng-test-overview %}">results
+ page</a>. Once we have builds that are properly tested (enough
+ successful feedback for all important features of the ISO or a
+ slightly earlier ISO), we can release new official media.</p>
+
+ <div id="releng-feedback"> <form action="" method="post">{% csrf_token %}
+ {{ form.as_p }}
+ <input type="submit" value="Submit" />
+ </form>
+ </div>
+</div>
+{% endblock %}
diff --git a/templates/releng/result_list.html b/templates/releng/result_list.html
new file mode 100644
index 00000000..b3ae025b
--- /dev/null
+++ b/templates/releng/result_list.html
@@ -0,0 +1,41 @@
+{% extends "base.html" %}
+
+{% block content %}
+<div class="box">
+ <h2>Results for:
+ {% if option %}{{ option|title }}: {{ value }}{% endif %}
+ {{ iso_name|default:"" }}
+ </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>Submitted By</th>
+ <th>Date Submitted</th>
+ <th>Success</th>
+ </tr>
+ </thead>
+ <tbody>
+ {% for test in test_list %}
+ <tr>
+ <td>{{ test.iso.name }}</td>
+ <td>{{ test.user_name }}</td>
+ <td>{{ test.created|date }}</td>
+ <td>{{ test.success|yesno }}</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/result_section.html b/templates/releng/result_section.html
new file mode 100644
index 00000000..08e46fb7
--- /dev/null
+++ b/templates/releng/result_section.html
@@ -0,0 +1,28 @@
+<tr>
+ <th>{% if option.is_rollback %}Rollback: {% endif %}{{ option.name|title }}</td>
+ <th>Last Success</th>
+ <th>Last Failure</th>
+</tr>
+{% for item in option.values %}
+<tr>
+ <td>
+ <a href="{% url releng-results-for option.name|lower item.value.pk %}">
+ {{ item.value.name|lower }}
+ </a>
+ </td>
+ <td>
+ {% if item.success %}
+ <a href="{% url releng-results-iso item.success.pk %}">
+ {{ item.success.name }}
+ </a>
+ {% else %}Never succeeded{% endif %}
+ </td>
+ <td>
+ {% if item.failure %}
+ <a href="{% url releng-results-iso item.failure.pk %}">
+ {{ item.failure.name }}
+ </a>
+ {% else %}Never failed{% endif %}
+ </td>
+</tr>
+{% endfor %}
diff --git a/templates/releng/results.html b/templates/releng/results.html
new file mode 100644
index 00000000..6f7d29f0
--- /dev/null
+++ b/templates/releng/results.html
@@ -0,0 +1,25 @@
+{% extends "base.html" %}
+
+{% block title %}Parabola - Release Engineering Testbuild Results{% endblock %}
+
+{% block content %}
+<div class="box">
+ <h2>Release Engineering Testbuild Results</h2>
+
+ <p>This is an overview screen showing a test results matrix of release
+ engineering produced ISOs. Various options and configurations are shown
+ with last success and last failure results, if known. To help improve ISO
+ quality, you are encouraged to <a href="{% url releng-test-submit %}">give feedback</a>
+ if you have tested and used any ISOs. Both successful and failed results
+ are encouraged and welcome.</p>
+
+ <p>All ISOs referenced on this page are available from
+ <a href="{{ iso_url }}">{{ iso_url }}</a>.</p>
+
+ <table>
+ {% for option in options %}
+ {% include "releng/result_section.html" %}
+ {% endfor %}
+ </table>
+</div>
+{% endblock %}
diff --git a/templates/releng/thanks.html b/templates/releng/thanks.html
new file mode 100644
index 00000000..984a056d
--- /dev/null
+++ b/templates/releng/thanks.html
@@ -0,0 +1,13 @@
+{% extends "base.html" %}
+
+{% block title %}Parabola - Feedback - Thanks!{% endblock %}
+
+{% block content %}
+<div class="box">
+ <h2>Thanks!</h2>
+ <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>
+</div>
+{% endblock %}
diff --git a/templates/todolists/email_notification.txt b/templates/todolists/email_notification.txt
index 1825912c..10b50f64 100644
--- a/templates/todolists/email_notification.txt
+++ b/templates/todolists/email_notification.txt
@@ -1,7 +1,7 @@
{% autoescape off %}The todo list {{ todolist.name }} has had the following packages added to it for which you are a maintainer:
{% for tpkg in todo_packages %}
-{{ tpkg.pkg.repo.name|lower }}/{{ tpkg.pkg.pkgname }} ({{ tpkg.pkg.arch.name }}) - {{ tpkg.pkg.get_full_url }}{% endfor %}
+* {{ tpkg.pkg.repo.name|lower }}/{{ tpkg.pkg.pkgname }} ({{ tpkg.pkg.arch.name }}) - {{ tpkg.pkg.get_full_url }}{% endfor %}
Todo list information:
Creator: {{todolist.creator.get_full_name}}
diff --git a/templates/todolists/list.html b/templates/todolists/list.html
index a58fedc8..38d491d9 100644
--- a/templates/todolists/list.html
+++ b/templates/todolists/list.html
@@ -30,9 +30,9 @@
<tr class="{% cycle 'odd' 'even' %}">
<td><a href="{{ list.get_absolute_url }}"
title="View todo list: {{ list.name }}">{{ list.name }}</a></td>
- <td>{{ list.date_added }}</td>
+ <td>{{ list.date_added|date }}</td>
<td>{{ list.creator.get_full_name }}</td>
- <td class="wrap">{{ list.description|safe }}</td>
+ <td class="wrap">{{ list.description|urlize }}</td>
<td>{{ list.pkg_count }}</td>
<td>{{ list.incomplete_count }}</td>
<td>{% ifequal list.incomplete_count 0 %}<span class="complete">Complete</span>
diff --git a/templates/todolists/public_list.html b/templates/todolists/public_list.html
index 5b957692..ceb001de 100644
--- a/templates/todolists/public_list.html
+++ b/templates/todolists/public_list.html
@@ -22,13 +22,14 @@
</div>
</div>
{% if todo_lists %}
-<div id="public_todo_lists">
+<div id="public-todo-lists">
{% for list in todo_lists %}
<div class="box">
- <a name="{{ list.id }}"></a>
- <h4>{{ list.name }}</h4>
- <div class="todo_list">
- <div>{{ list.description|safe|linebreaks }}</div>
+ <div class="todo-list">
+ <a name="{{ list.id }}"></a>
+ <h4>{{ list.name }}</h4>
+ <p class="todo-info">{{ list.date_added|date }} - {{ list.creator.get_full_name }}</p>
+ <div>{{ list.description|urlize|linebreaks }}</div>
<table id="todo-pkglist-{{ list.id }}" class="results todo-table">
<thead>
<tr>
diff --git a/templates/todolists/view.html b/templates/todolists/view.html
index 477e0180..d4f5a08d 100644
--- a/templates/todolists/view.html
+++ b/templates/todolists/view.html
@@ -17,7 +17,9 @@
{% endif %}
</ul>
- <p>{{list.description|safe|linebreaks}}</p>
+ <p class="todo-info">{{ list.date_added|date }} - {{ list.creator.get_full_name }}</p>
+
+ <div>{{list.description|urlize|linebreaks}}</div>
<table id="dev-todo-pkglist" class="results todo-table">
<thead>