diff options
Diffstat (limited to 'templates')
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 %} › {{ 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 > 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&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> </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> </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">< Prev</a> {% else %} <span class="prev">< 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 ></a> {% else %} <span class="next">Next ></span> @@ -74,17 +82,17 @@ {% if perms.main.change_package %} <th> </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">< Prev</a> {% else %} <span class="prev">< 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 ></a> {% else %} <span class="next">Next ></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 <your-package-name></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 <your-package-name></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> |