summaryrefslogtreecommitdiff
path: root/templates/packages
diff options
context:
space:
mode:
Diffstat (limited to 'templates/packages')
-rw-r--r--templates/packages/details.html225
-rw-r--r--templates/packages/details.html.jinja223
-rw-r--r--templates/packages/details_depend.html.jinja (renamed from templates/packages/details_depend.html)10
-rw-r--r--templates/packages/details_link.html.jinja1
-rw-r--r--templates/packages/details_relatedto.html2
-rw-r--r--templates/packages/details_relatedto.html.jinja3
-rw-r--r--templates/packages/details_requiredby.html.jinja (renamed from templates/packages/details_requiredby.html)2
-rw-r--r--templates/packages/files.html2
-rw-r--r--templates/packages/files_list.html.jinja (renamed from templates/packages/files_list.html)2
-rw-r--r--templates/packages/search.html71
-rw-r--r--templates/packages/search_paginator.html4
-rw-r--r--templates/packages/stale_relations.html12
12 files changed, 294 insertions, 263 deletions
diff --git a/templates/packages/details.html b/templates/packages/details.html
index 07406fa2..82f2c604 100644
--- a/templates/packages/details.html
+++ b/templates/packages/details.html
@@ -1,234 +1,11 @@
{% extends "base.html" %}
{% load static from staticfiles %}
-{% load package_extras %}
-{% load pgp %}
{% block title %}{{ BRANDING_DISTRONAME }} - {{ pkg.pkgname }} {{ pkg.full_version }} ({{ pkg.arch.name }}){% endblock %}
{% block navbarclass %}anb-packages{% endblock %}
-{% load package_extras %}
{% block content %}
-<div id="pkgdetails" class="box">
-
- <h2>{{ pkg.pkgname }} {{ pkg.full_version }}</h2>
-
- <div id="detailslinks" class="listing">
- <div id="actionlist">
- <h4>Package Actions</h4>
- <ul class="small">
- <li>
- <a href="{% scm_link pkg 'tree' %}" title="View source files for {{ pkg.pkgname }}">Source Files</a> /
- <a href="{% scm_link pkg 'log' %}" title="View changes for {{ pkg.pkgname }}">View Changes</a>
- </li>
- <li>
- <a href="{% bugs_list pkg %}" title="View existing bug tickets for {{ pkg.pkgname }}">Bug Reports</a> /
- <a href="{% bug_report pkg %}" title="Report new bug for {{ pkg.pkgname }}">Add New Bug</a>
- </li>
- <li><a href="{% get_wiki_link pkg %}" title="Search wiki for {{ pkg.pkgname }}">Search Wiki</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.full_version }}</a>
- in testing</span></li>
- {% endif %}{% endwith %}
- {% if perms.main.change_package %}
- <li><a href="unflag/" title="Unflag this package">Click here to unflag</a></li>
- <li><a href="unflag/all/" title="Unflag all matching pkgbase">Click here to unflag all split packages</a></li>
- {% endif %}
- {% else %}
- <li><a href="flag/" title="Flag {{ pkg.pkgname }} as out-of-date">Flag Package Out-of-Date</a>
- <a href="/packages/flaghelp/"
- title="Get help on package flagging"
- onclick="return !window.open('/packages/flaghelp/','FlagHelp',
- 'height=350,width=450,location=no,scrollbars=yes,menubars=no,toolbars=no,resizable=no');">(?)</a></li>
- {% endif %}
- <li><a href="download/" rel="nofollow" title="Download {{ pkg.pkgname }} from mirror">Download From Mirror</a></li>
- </ul>
-
- {% if perms.main.change_package %}
- <form id="pkg-action" method="post" action="/packages/update/">{% csrf_token %}
- <div><input type="hidden" name="pkgid" value="{{ pkg.id }}" /></div>
- <p>{% if user in pkg.maintainers %}
- <input title="Orphan this package" type="submit" name="disown" value="Disown"/>
- {% else %}
- <input title="Adopt this package" type="submit" name="adopt" value="Adopt"/>
- {% endif %}</p>
- </form>
- {% endif %}
- </div>
-
- {% with pkg.elsewhere as others %}{% if others %}
- <div id="elsewhere" class="widget">
- <h4>Versions Elsewhere</h4>
- <ul>
- {% for o in others %}
- <li><a href="{{ o.get_absolute_url }}"
- title="Package details for {{ o.pkgname }}">{{ o.pkgname }} {{ o.full_version }} [{{ o.repo.name|lower }}] ({{ o.arch.name }})</a></li>
- {% endfor %}
- </ul>
- </div>
- {% endif %}{% endwith %}
- </div>
-
- <div itemscope itemtype="http://schema.org/SoftwareApplication">
- <meta itemprop="name" content="{{ pkg.pkgname|escape }}"/>
- <meta itemprop="version" content="{{ pkg.full_version|escape }}"/>
- <meta itemprop="softwareVersion" content="{{ pkg.full_version|escape }}"/>
- <meta itemprop="fileSize" content="{{ pkg.compressed_size }}"/>
- <meta itemprop="dateCreated" content="{{ pkg.build_date|date:"Y-m-d" }}"/>
- <meta itemprop="datePublished" content="{{ pkg.last_update|date:"Y-m-d" }}"/>
- <meta itemprop="operatingSystem" content="Linux"/>
- <div style="display:none" itemprop="provider" itemscope itemtype="http://schema.org/Person">
- <meta itemprop="name" content="{{ pkg.packager.get_full_name|escape }}"/>
- </div>
- <table id="pkginfo">
- <tr>
- <th>Architecture:</th>
- <td><a href="/packages/?arch={{ pkg.arch.name }}"
- title="Browse packages for {{ pkg.arch.name }} architecture">{{ pkg.arch.name }}</a></td>
- </tr><tr>
- <th>Repository:</th>
- <td><a href="/packages/?repo={{ pkg.repo.name|capfirst }}"
- title="Browse the {{ pkg.repo.name|capfirst }} repository">{{ pkg.repo.name|capfirst }}</a></td>
- </tr>
- {% ifequal pkg.pkgname pkg.pkgbase %}
- {% with pkg.split_packages as splits %}{% if splits %}
- <tr>
- <th>Split Packages:</th>
- <td class="wrap relatedto">{% for s in splits %}<span class="related">{% pkg_details_link s %}{% if not forloop.last %}, {% endif %}</span>{% endfor %}</td>
- </tr>
- {% endif %}{% endwith %}
- {% else %}
- <tr>
- <th>Base Package:</th>
- {% with pkg.base_package as base %}{% if base %}
- <td>{% pkg_details_link base %}</td>
- {% else %}
- <td><a href="../{{ pkg.pkgbase }}/"
- title="Split package details for {{ pkg.pkgbase }}">{{ pkg.pkgbase }}</a></td>
- {% endif %}{% endwith %}
- </tr>
- {% endifequal %}
- <tr>
- <th>Description:</th>
- <td class="wrap" itemprop="description">{{ pkg.pkgdesc|default:"" }}</td>
- </tr><tr>
- <th>Upstream URL:</th>
- <td>{% if pkg.url %}<a itemprop="url" href="{{ pkg.url }}"
- title="Visit the website for {{ pkg.pkgname }}">{{ pkg.url|url_unquote }}</a>{% endif %}</td>
- </tr><tr>
- <th>License(s):</th>
- <td class="wrap">{{ pkg.licenses.all|join:", " }}</td>
- </tr>
- {% with pkg.groups.all as groups %}{% if groups %}
- <tr>
- <th>Groups:</th>
- <td class="wrap">{% for g in groups %}
- <a href="/groups/{{ pkg.arch.name }}/{{ g.name }}/"
- title="Group details for {{ g.name }}">{{ g.name }}</a>{% if not forloop.last %}, {% endif %}{% endfor %}
- </td>
- </tr>
- {% endif %}{% endwith %}
- {% with pkg.provides.all as all_related %}{% if all_related %}
- <tr>
- <th>Provides:</th>
- <td class="wrap relatedto">{% include "packages/details_relatedto.html" %}</td>
- </tr>
- {% endif %}{% endwith %}
- {% with pkg.replaces.all as all_related %}{% if all_related %}
- <tr>
- <th>Replaces:</th>
- <td class="wrap relatedto">{% include "packages/details_relatedto.html" %}</td>
- </tr>
- {% endif %}{% endwith %}
- {% with pkg.conflicts.all as all_related %}{% if all_related %}
- <tr>
- <th>Conflicts:</th>
- <td class="wrap relatedto">{% include "packages/details_relatedto.html" %}</td>
- </tr>
- {% endif %}{% endwith %}
- {% with pkg.reverse_conflicts as rev_conflicts %}{% if rev_conflicts %}
- <tr>
- <th>Reverse Conflicts:</th>
- <td class="wrap relatedto">{% for conflict in rev_conflicts %}
- <span class="related">{% pkg_details_link conflict %}{% if not forloop.last %}, {% endif %}</span>{% endfor %}</td>
- </tr>
- {% endif %}{% endwith %}
- <tr>
- <th>Maintainers:</th>
- {% with pkg.maintainers as maints %}
- <td>{% if maints %}
- {% for m in maints %}
- {% maintainer_link m %}<br/>
- {% endfor %}
- {% else %}Orphan{% endif %}
- </td>
- {% endwith %}
- </tr><tr>
- <th>Package Size:</th>
- <td>{{ pkg.compressed_size|filesizeformat }}</td>
- </tr><tr>
- <th>Installed Size:</th>
- <td>{{ pkg.installed_size|filesizeformat }}</td>
- </tr><tr>
- <th>Last Packager:</th>
- <td>{% with pkg.packager as pkgr %}{% if pkgr %}{% packager_link pkgr %}{% else %}{{ pkg.packager_str }}{% endif %}{% endwith %}</td>
- </tr><tr>
- <th>Build Date:</th>
- <td>{{ pkg.build_date|date:"DATETIME_FORMAT" }} UTC</td>
- </tr>{% if pkg.signature %}<tr>
- <th>Signed By:</th>
- <td>{% with pkg.signer as signer %}{% if signer %}{% pgp_key_link pkg.signature.key_id signer.get_full_name %}{% else %}Unknown ({% pgp_key_link pkg.signature.key_id %}){% endif %}{% endwith %}</td>
- </tr><tr>
- <th>Signature Date:</th>
- <td>{{ pkg.signature.creation_time|date:"DATETIME_FORMAT" }} UTC</td>
- </tr>{% else %}<tr>
- <th>Signed By:</th>
- <td>Unsigned</td>
- </tr>{% endif %}<tr>
- <th>Last Updated:</th>
- <td>{{ pkg.last_update|date:"DATETIME_FORMAT" }} UTC</td>
- </tr>
- {% if user.is_authenticated %}{% with pkg.flag_request as flag_request %}{% if flag_request %}<tr>
- <th>Last Flag Request:</th>
- <td class="wrap">From {{ flag_request.who }} on {{ flag_request.created|date }}:<br/>
- <div class="userdata">{{ flag_request.message|linebreaksbr|default:"{no message}" }}</div></td>
- </tr>{% endif %}{% endwith %}{% endif %}
- </table>
- </div>
-
- <div id="metadata">
- {% with pkg.get_depends as deps %}
- <div id="pkgdeps" class="listing">
- <h3 title="{{ pkg.pkgname }} has the following dependencies">
- Dependencies ({{deps|length}})</h3>
- {% if deps %}<ul id="pkgdepslist">
- {% for depend in deps %}{% include "packages/details_depend.html" %}{% endfor %}
- </ul>{% endif %}
- </div>
- {% endwith %}
- {% with pkg.get_requiredby as rqdby %}
- <div id="pkgreqs" class="listing">
- <h3 title="Packages that require {{ pkg.pkgname }}">
- Required By ({{rqdby|length}})</h3>
- {% if rqdby %}<ul id="pkgreqslist">
- {% for req in rqdby %}{% include "packages/details_requiredby.html" %}{% endfor %}
- </ul>{% endif %}
- </div>
- {% endwith %}
- <div id="pkgfiles" class="listing">
- <h3 title="Complete list of files contained within this package">
- Package Contents</h3>
- <div id="pkgfilelist">
- <p><a id="filelink" href="files/"
- title="Click to view the complete file list for {{ pkg.pkgname }}">
- View the file list for {{ pkg.pkgname }}</a></p>
- </div>
- </div>
- </div>
-</div>
+{% include "packages/details.html.jinja" %}
{% endblock %}
{% block script_block %}
diff --git a/templates/packages/details.html.jinja b/templates/packages/details.html.jinja
new file mode 100644
index 00000000..21be80f5
--- /dev/null
+++ b/templates/packages/details.html.jinja
@@ -0,0 +1,223 @@
+{% import 'packages/details_link.html.jinja' as details %}
+<div id="pkgdetails" class="box">
+ <h2>{{ pkg.pkgname }} {{ pkg.full_version }}</h2>
+
+ <div id="detailslinks" class="listing">
+ <div id="actionlist">
+ <h4>Package Actions</h4>
+ <ul class="small">
+ <li>
+ <a href="{{ scm_link(pkg, 'tree') }}" title="View source files for {{ pkg.pkgname }}">Source Files</a> /
+ <a href="{{ scm_link(pkg, 'log') }}" title="View changes for {{ pkg.pkgname }}">View Changes</a>
+ </li>
+ <li>
+ <a href="{{ bugs_list(pkg) }}" title="View existing bug tickets for {{ pkg.pkgname }}">Bug Reports</a> /
+ <a href="{{ bug_report(pkg) }}" title="Report new bug for {{ pkg.pkgname }}">Add New Bug</a>
+ </li>
+ <li><a href="{{ wiki_link(pkg) }}" title="Search wiki for {{ pkg.pkgname }}">Search Wiki</a></li>
+ {% if pkg.flag_date %}
+ <li><span class="flagged">Flagged out-of-date on {{ pkg.flag_date|date }}</span></li>
+ {% with tp = pkg.in_testing() %}{% if tp %}
+ <li><span class="flagged">Version
+ <a href="{{ tp.get_absolute_url() }}"
+ title="Testing package details for {{ tp.pkgname }}">{{ tp.full_version }}</a>
+ in testing</span></li>
+ {% endif %}{% endwith %}
+ {% if perms.main.change_package %}
+ <li><a href="unflag/" title="Unflag this package">Click here to unflag</a></li>
+ <li><a href="unflag/all/" title="Unflag all matching pkgbase">Click here to unflag all split packages</a></li>
+ {% endif %}
+ {% else %}
+ <li><a href="flag/" title="Flag {{ pkg.pkgname }} as out-of-date">Flag Package Out-of-Date</a>
+ <a href="/packages/flaghelp/"
+ title="Get help on package flagging"
+ onclick="return !window.open('/packages/flaghelp/','FlagHelp',
+ 'height=350,width=450,location=no,scrollbars=yes,menubars=no,toolbars=no,resizable=no');">(?)</a></li>
+ {% endif %}
+ <li><a href="download/" rel="nofollow" title="Download {{ pkg.pkgname }} from mirror">Download From Mirror</a></li>
+ </ul>
+
+ {% if perms.main.change_package %}
+ <form id="pkg-action" method="post" action="/packages/update/">{% csrf_token %}
+ <div><input type="hidden" name="pkgid" value="{{ pkg.id }}" /></div>
+ <p>{% if user in pkg.maintainers %}
+ <input title="Orphan this package" type="submit" name="disown" value="Disown"/>
+ {% else %}
+ <input title="Adopt this package" type="submit" name="adopt" value="Adopt"/>
+ {% endif %}</p>
+ </form>
+ {% endif %}
+ </div>
+
+ {% with others = pkg.elsewhere() %}{% if others %}
+ <div id="elsewhere" class="widget">
+ <h4>Versions Elsewhere</h4>
+ <ul>
+ {% for o in others %}
+ <li><a href="{{ o.get_absolute_url() }}"
+ title="Package details for {{ o.pkgname }}">{{ o.pkgname }} {{ o.full_version }} [{{ o.repo.name|lower }}] ({{ o.arch.name }})</a></li>
+ {% endfor %}
+ </ul>
+ </div>
+ {% endif %}{% endwith %}
+ </div>
+
+ <div itemscope itemtype="http://schema.org/SoftwareApplication">
+ <meta itemprop="name" content="{{ pkg.pkgname|escape }}"/>
+ <meta itemprop="version" content="{{ pkg.full_version|escape }}"/>
+ <meta itemprop="softwareVersion" content="{{ pkg.full_version|escape }}"/>
+ <meta itemprop="fileSize" content="{{ pkg.compressed_size }}"/>
+ <meta itemprop="dateCreated" content="{{ pkg.build_date|date("Y-m-d") }}"/>
+ <meta itemprop="datePublished" content="{{ pkg.last_update|date("Y-m-d") }}"/>
+ <meta itemprop="operatingSystem" content="Arch Linux"/>
+ {% if pkg.packager %}<div style="display:none" itemprop="provider" itemscope itemtype="http://schema.org/Person">
+ <meta itemprop="name" content="{{ pkg.packager.get_full_name()|escape }}"/>
+ </div>{% endif %}
+ <table id="pkginfo">
+ <tr>
+ <th>Architecture:</th>
+ <td><a href="/packages/?arch={{ pkg.arch.name }}"
+ title="Browse packages for {{ pkg.arch.name }} architecture">{{ pkg.arch.name }}</a></td>
+ </tr><tr>
+ <th>Repository:</th>
+ <td><a href="/packages/?repo={{ pkg.repo.name|capfirst }}"
+ title="Browse the {{ pkg.repo.name|capfirst }} repository">{{ pkg.repo.name|capfirst }}</a></td>
+ </tr>
+ {% if pkg.pkgname == pkg.pkgbase %}
+ {% with splits = pkg.split_packages() %}{% if splits %}
+ <tr>
+ <th>Split Packages:</th>
+ <td class="wrap relatedto">{% for s in splits %}<span class="related">{{ details.details_link(s) }}{% if not loop.last %}, {% endif %}</span>{% endfor %}</td>
+ </tr>
+ {% endif %}{% endwith %}
+ {% else %}
+ <tr>
+ <th>Base Package:</th>
+ {% with base = pkg.base_package() %}{% if base %}
+ <td>{{ details.details_link(base) }}</td>
+ {% else %}
+ <td><a href="../{{ pkg.pkgbase }}/"
+ title="Split package details for {{ pkg.pkgbase }}">{{ pkg.pkgbase }}</a></td>
+ {% endif %}{% endwith %}
+ </tr>
+ {% endif %}
+ <tr>
+ <th>Description:</th>
+ <td class="wrap" itemprop="description">{{ pkg.pkgdesc|default("") }}</td>
+ </tr><tr>
+ <th>Upstream URL:</th>
+ <td>{% if pkg.url %}<a itemprop="url" href="{{ pkg.url }}"
+ title="Visit the website for {{ pkg.pkgname }}">{{ pkg.url|url_unquote }}</a>{% endif %}</td>
+ </tr><tr>
+ <th>License(s):</th>
+ <td class="wrap">{{ pkg.licenses.all()|join(", ") }}</td>
+ </tr>
+ {% with groups = pkg.groups.all() %}{% if groups %}
+ <tr>
+ <th>Groups:</th>
+ <td class="wrap">{% for g in groups %}
+ <a href="/groups/{{ pkg.arch.name }}/{{ g.name }}/"
+ title="Group details for {{ g.name }}">{{ g.name }}</a>{% if not loop.last %}, {% endif %}{% endfor %}
+ </td>
+ </tr>
+ {% endif %}{% endwith %}
+ {% with all_related = pkg.provides.all() %}{% if all_related %}
+ <tr>
+ <th>Provides:</th>
+ <td class="wrap relatedto">{% include "packages/details_relatedto.html.jinja" %}</td>
+ </tr>
+ {% endif %}{% endwith %}
+ {% with all_related = pkg.replaces.all() %}{% if all_related %}
+ <tr>
+ <th>Replaces:</th>
+ <td class="wrap relatedto">{% include "packages/details_relatedto.html.jinja" %}</td>
+ </tr>
+ {% endif %}{% endwith %}
+ {% with all_related = pkg.conflicts.all() %}{% if all_related %}
+ <tr>
+ <th>Conflicts:</th>
+ <td class="wrap relatedto">{% include "packages/details_relatedto.html.jinja" %}</td>
+ </tr>
+ {% endif %}{% endwith %}
+ {% with rev_conflicts = pkg.reverse_conflicts() %}{% if rev_conflicts %}
+ <tr>
+ <th>Reverse Conflicts:</th>
+ <td class="wrap relatedto">{% for conflict in rev_conflicts %}
+ <span class="related">{{ details.details_link(conflict) }}{% if not loop.last %}, {% endif %}</span>{% endfor %}</td>
+ </tr>
+ {% endif %}{% endwith %}
+ <tr>
+ <th>Maintainers:</th>
+ {% with maints = pkg.maintainers %}
+ <td>{% if maints %}{% for m in maints %}
+ <a href="/packages/?maintainer={{ m.username }}"
+ title="View packages maintained by {{ m.get_full_name() }}">{{ m.get_full_name() }}</a><br/>
+ {% endfor %}{% else %}Orphan{% endif %}
+ </td>
+ {% endwith %}
+ </tr><tr>
+ <th>Package Size:</th>
+ <td>{{ pkg.compressed_size|filesizeformat }}</td>
+ </tr><tr>
+ <th>Installed Size:</th>
+ <td>{{ pkg.installed_size|filesizeformat }}</td>
+ </tr><tr>
+ <th>Last Packager:</th>
+ <td>{% with pkgr = pkg.packager %}{% if pkgr %}
+ <a href="/packages/?packager={{ pkgr.username }}"
+ title="View packages packaged by {{ pkgr.get_full_name() }}">{{ pkgr.get_full_name() }}</a>
+ {% else %}{{ pkg.packager_str }}{% endif %}{% endwith %}</td>
+ </tr><tr>
+ <th>Build Date:</th>
+ <td>{{ pkg.build_date|date("DATETIME_FORMAT") }} UTC</td>
+ </tr>{% if pkg.signature %}<tr>
+ <th>Signed By:</th>
+ <td>{% with signer = pkg.signer %}{% if signer %}{{ pgp_key_link(pkg.signature.key_id, signer.get_full_name())|safe }}{% else %}Unknown ({{ pgp_key_link(pkg.signature.key_id)|safe }}){% endif %}{% endwith %}</td>
+ </tr><tr>
+ <th>Signature Date:</th>
+ <td>{{ pkg.signature.creation_time|date("DATETIME_FORMAT") }} UTC</td>
+ </tr>{% else %}<tr>
+ <th>Signed By:</th>
+ <td>Unsigned</td>
+ </tr>{% endif %}<tr>
+ <th>Last Updated:</th>
+ <td>{{ pkg.last_update|date("DATETIME_FORMAT") }} UTC</td>
+ </tr>
+ {% if user.is_authenticated %}{% with flag_request = pkg.flag_request() %}{% if flag_request %}<tr>
+ <th>Last Flag Request:</th>
+ <td class="wrap">From {{ flag_request.who() }} on {{ flag_request.created|date }}:<br/>
+ <div class="userdata">{{ flag_request.message|linebreaksbr|default("{no message}") }}</div></td>
+ </tr>{% endif %}{% endwith %}{% endif %}
+ </table>
+ </div>
+
+ <div id="metadata">
+ {% with deps = pkg.get_depends() %}
+ <div id="pkgdeps" class="listing">
+ <h3 title="{{ pkg.pkgname }} has the following dependencies">
+ Dependencies ({{deps|length}})</h3>
+ {% if deps %}<ul id="pkgdepslist">
+ {% for depend in deps %}{% include "packages/details_depend.html.jinja" %}{% endfor %}
+ </ul>{% endif %}
+ </div>
+ {% endwith %}
+ {% with rqdby = pkg.get_requiredby() %}
+ <div id="pkgreqs" class="listing">
+ <h3 title="Packages that require {{ pkg.pkgname }}">
+ Required By ({{rqdby|length}})</h3>
+ {% if rqdby %}<ul id="pkgreqslist">
+ {% for req in rqdby %}{% include "packages/details_requiredby.html.jinja" %}{% endfor %}
+ </ul>{% endif %}
+ </div>
+ {% endwith %}
+ <div id="pkgfiles" class="listing">
+ <h3 title="Complete list of files contained within this package">
+ Package Contents</h3>
+ <div id="pkgfilelist">
+ <p><a id="filelink" href="files/"
+ title="Click to view the complete file list for {{ pkg.pkgname }}">
+ View the file list for {{ pkg.pkgname }}</a></p>
+ </div>
+ </div>
+ </div>
+</div>
diff --git a/templates/packages/details_depend.html b/templates/packages/details_depend.html.jinja
index b89ffbfa..404793b6 100644
--- a/templates/packages/details_depend.html
+++ b/templates/packages/details_depend.html.jinja
@@ -1,11 +1,11 @@
-{% load package_extras %}<li>{% ifequal depend.pkg None %}
-{% if depend.providers %}{{ depend.dep.name }}{{ depend.dep.comparison|default:"" }}{{ depend.dep.version|default:"" }} <span class="virtual-dep">({% multi_pkg_details depend.providers %})</span>
-{% else %}{{ depend.dep.name }}{{ depend.dep.comparison|default:"" }}{{ depend.dep.version|default:"" }} <span class="virtual-dep">(virtual)</span>
+{% import 'packages/details_link.html.jinja' as details %}<li>{% if depend.pkg == None %}
+{% if depend.providers %}{{ depend.dep.name }}{{ depend.dep.comparison|default("") }}{{ depend.dep.version|default("") }} <span class="virtual-dep">({% for pkg in depend.providers %}{{ details.details_link(pkg) }}{% if not loop.last %}, {% endif %}{% endfor %})</span>
+{% else %}{{ depend.dep.name }}{{ depend.dep.comparison|default("") }}{{ depend.dep.version|default("") }} <span class="virtual-dep">(virtual)</span>
{% endif %}{% else %}
-{% pkg_details_link depend.pkg %}{{ depend.dep.comparison|default:"" }}{{ depend.dep.version|default:"" }}
+{{ details.details_link(depend.pkg) }}{{ depend.dep.comparison|default("") }}{{ depend.dep.version|default("") }}
{% if depend.pkg.repo.testing %} <span class="testing-dep"> (testing)</span>
{% endif %}{% if depend.pkg.repo.staging %} <span class="staging-dep"> (staging)</span>
-{% endif %}{% endifequal %}
+{% endif %}{% endif %}
{% if depend.dep.deptype == 'O' %} <span class="opt-dep"> (optional)</span>
{% endif %}{% if depend.dep.deptype == 'M' %} <span class="make-dep"> (make)</span>
{% endif %}{% if depend.dep.deptype == 'C' %} <span class="check-dep"> (check)</span>
diff --git a/templates/packages/details_link.html.jinja b/templates/packages/details_link.html.jinja
new file mode 100644
index 00000000..b7e75fe5
--- /dev/null
+++ b/templates/packages/details_link.html.jinja
@@ -0,0 +1 @@
+{% macro details_link(pkg) %}<a href="{{ pkg.get_absolute_url() }}" title="View package details for {{ pkg.pkgname }}">{{ pkg.pkgname }}</a>{% endmacro %}
diff --git a/templates/packages/details_relatedto.html b/templates/packages/details_relatedto.html
deleted file mode 100644
index e14375d3..00000000
--- a/templates/packages/details_relatedto.html
+++ /dev/null
@@ -1,2 +0,0 @@
-{% load package_extras %}{% for related in all_related %}{% with related.get_best_satisfier as best_satisfier %}<span class="related">{% ifequal best_satisfier None %}{{ related.name }}{% else %}{% pkg_details_link best_satisfier %}{% endifequal %}{{ related.comparison|default:"" }}{{ related.version|default:"" }}{% if not forloop.last %}, {% endif %}</span>
-{% endwith %}{% endfor %}
diff --git a/templates/packages/details_relatedto.html.jinja b/templates/packages/details_relatedto.html.jinja
new file mode 100644
index 00000000..955fdd37
--- /dev/null
+++ b/templates/packages/details_relatedto.html.jinja
@@ -0,0 +1,3 @@
+{% import 'packages/details_link.html.jinja' as details %}{% for related in all_related %}{% with best_satisfier = related.get_best_satisfier() %}
+<span class="related">{% if best_satisfier == None %}{{ related.name }}{% else %}{{ details.details_link(best_satisfier) }}{% endif %}{{ related.comparison|default("") }}{{ related.version|default("") }}{% if not loop.last %}, {% endif %}</span>
+{% endwith %}{% endfor %}
diff --git a/templates/packages/details_requiredby.html b/templates/packages/details_requiredby.html.jinja
index 504a322f..b083a7fc 100644
--- a/templates/packages/details_requiredby.html
+++ b/templates/packages/details_requiredby.html.jinja
@@ -1,4 +1,4 @@
-{% load package_extras %}<li>{% pkg_details_link req.pkg %}
+{% import 'packages/details_link.html.jinja' as details %}<li>{{ details.details_link(req.pkg) }}
{% if req.name != pkg.pkgname %}<span class="virtual-dep"> (requires {{ req.name }})</span>
{% endif %}{% if req.pkg.repo.testing %}<span class="testing-dep"> (testing)</span>
{% endif %}{% if req.pkg.repo.staging %}<span class="staging-dep"> (staging)</span>
diff --git a/templates/packages/files.html b/templates/packages/files.html
index e2987e5f..667a77cb 100644
--- a/templates/packages/files.html
+++ b/templates/packages/files.html
@@ -9,7 +9,7 @@
<p>Package has {{ files_count }} file{{ files_count|pluralize }} and {{ dir_count }} director{{ dir_count|pluralize:"y,ies" }}.</p>
<p><a href="{{ pkg.get_absolute_url }}">Back to Package</a></p>
<div id="metadata"><div id="pkgfilelist">
- {% include "packages/files_list.html" %}
+ {% include "packages/files_list.html.jinja" %}
</div></div>
</div>
diff --git a/templates/packages/files_list.html b/templates/packages/files_list.html.jinja
index 93a2c847..c8fc3b1a 100644
--- a/templates/packages/files_list.html
+++ b/templates/packages/files_list.html.jinja
@@ -6,7 +6,7 @@ of the package; it may be out of date.</p>
{% if files|length %}
<ul>
{% for file in files %}
-<li class="{% if file.is_directory %}d{% else %}f{% endif %}">{{ file.directory }}{{ file.filename|default:'' }}</li>{% endfor %}
+<li class="{% if file.is_directory %}d{% else %}f{% endif %}">{{ file.directory }}{{ file.filename|default('') }}</li>{% endfor %}
</ul>
{% else %}
<p class="message">Package has no files.</p>
diff --git a/templates/packages/search.html b/templates/packages/search.html
index ec913ed6..a7433934 100644
--- a/templates/packages/search.html
+++ b/templates/packages/search.html
@@ -2,7 +2,7 @@
{% load cycle from future %}
{% load package_extras %}
-{% block title %}{{ BRANDING_DISTRONAME }} - Package Database{% endblock %}
+{% block title %}{{ BRANDING_DISTRONAME }} - Package Search{% endblock %}
{% block navbarclass %}anb-packages{% endblock %}
{% block head %}
@@ -12,10 +12,7 @@
{% block content %}
<div id="pkglist-search" class="box filter-criteria">
-
- <h2>Package Database</h2>
-
- <h3>Package Search</h3>
+ <h2>Package Search</h2>
<form id="pkg-search" method="get" action="/packages/">
<p>{{ search_form.sort }}</p>
@@ -41,14 +38,49 @@
type="submit" value="Search" /></div>
</fieldset>
</form>
+</div>
-</div><!-- #pkglist-search -->
+{% if not is_paginated or page_obj.number == 1 %}{% with search_form.exact_matches as exact_matches %}{% if exact_matches %}
+<div id="exact-matches" class="box">
+ <div class="pkglist-stats">
+ <p>{{ exact_matches|length }} exact match{{ exact_matches|pluralize:"es" }} found.</p>
+ </div>
+ <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>Flag Date</th>
+ </tr>
+ </thead>
+ <tbody>
+ {% for pkg in exact_matches %}
+ <tr class="{% cycle 'odd' 'even' %}">
+ <td>{{ pkg.arch.name }}</td>
+ <td>{{ pkg.repo.name|capfirst }}</td>
+ <td>{% pkg_details_link pkg %}</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.flag_date|date }}</td>
+ </tr>
+ {% endfor %}
+ </tbody>
+ </table>
+</div>
+{% endif %}{% endwith %}{% endif %}
-{% if package_list %}
<div id="pkglist-results" class="box">
{% include "packages/search_paginator.html" %}
<form id="pkglist-results-form" method="post" action="/packages/update/">{% csrf_token %}
-
<table class="results">
<thead>
<tr>
@@ -70,7 +102,8 @@
</tr>
</thead>
<tbody>
- {% for pkg in package_list %}<tr class="{% cycle 'odd' 'even' %}">
+ {% for pkg in package_list %}
+ <tr class="{% cycle 'odd' 'even' %}">
{% if perms.main.change_package %}
<td><input type="checkbox" name="pkgid" value="{{ pkg.id }}" /></td>
{% endif %}
@@ -85,7 +118,10 @@
<td class="wrap">{{ pkg.pkgdesc }}</td>
<td>{{ pkg.last_update|date }}</td>
<td>{{ pkg.flag_date|date }}</td>
- </tr>{% endfor %}
+ </tr>
+ {% empty %}
+ <tr class="empty"><td colspan="{% if perms.main.change_package %}9{% else %}8{% endif %}"><em>No matching packages found</em></td></tr>
+ {% endfor %}
</tbody>
</table>
{% include "packages/search_paginator.html" %}
@@ -96,25 +132,18 @@
<input title="Orphan selected packages" type="submit" id="disown-btn"
name="disown" value="Disown Packages" /></p>
{% endif %}
-
</form>
+</div>
-</div><!-- #pkglist-results -->
-{% else %}
-<div class="box">
- <p>We couldn't find any packages matching your query. Try searching again
+<div id="pkglist-about" class="box">
+ <p>Can't find what you are looking for? 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|urlencode }}">searching the AUR</a>
{% else %}searching the <a href="https://aur.archlinux.org/">AUR</a>{% endif %}
to see if the package can be found there.</p>
-</div>
-{% endif %}
-<div id="pkglist-about" class="box">
<p>You are browsing the {{ BRANDING_DISTRONAME }} package database. From here you can find
- detailed information about packages located in the official supported repositories.
- For unsupported packages, browse the <a href="https://aur.archlinux.org/"
- title="AUR package database">Arch User Repository (AUR).</a></p>
+ detailed information about packages located in the official supported repositories.</p>
</div>
{% endblock %}
diff --git a/templates/packages/search_paginator.html b/templates/packages/search_paginator.html
index 3c368b82..a748d26b 100644
--- a/templates/packages/search_paginator.html
+++ b/templates/packages/search_paginator.html
@@ -1,6 +1,6 @@
<div class="pkglist-stats">
{% if is_paginated %}
- <p>{{ paginator.count }} packages found.
+ <p>{{ paginator.count }} matching packages found.
Page {{ page_obj.number }} of {{ paginator.num_pages }}.</p>
<div class="pkglist-nav">
@@ -22,6 +22,6 @@
</span>
</div>
{% else %}
- <p>{{ package_list.count }} packages found.</p>
+ <p>{{ package_list|length }} matching package{{ package_list|pluralize }} found.</p>
{% endif %}
</div>
diff --git a/templates/packages/stale_relations.html b/templates/packages/stale_relations.html
index 91ea033e..949b563e 100644
--- a/templates/packages/stale_relations.html
+++ b/templates/packages/stale_relations.html
@@ -37,7 +37,7 @@
<td>{{ relation.created }}</td>
</tr>
{% empty %}
- <tr class="empty"><td colspan="5"><em>No inactive user relations.</em></td></tr>
+ <tr class="empty"><td colspan="6"><em>No inactive user relations.</em></td></tr>
{% endfor %}
</tbody>
</table>
@@ -66,7 +66,7 @@
<td>{{ relation.last_update.created }}</td>
</tr>
{% empty %}
- <tr class="empty"><td colspan="4"><em>No non-existent pkgbase relations.</em></td></tr>
+ <tr class="empty"><td colspan="6"><em>No non-existent pkgbase relations.</em></td></tr>
{% endfor %}
</tbody>
</table>
@@ -100,7 +100,7 @@
<td class="wrap">{{ relation.repositories|join:", " }}</td>
</tr>
{% empty %}
- <tr class="empty"><td colspan="6"><em>No relations with wrong permissions.</em></td></tr>
+ <tr class="empty"><td colspan="7"><em>No relations with wrong permissions.</em></td></tr>
{% endfor %}
</tbody>
</table>
@@ -117,13 +117,13 @@
<script type="text/javascript" src="{% static "archweb.js" %}"></script>
<script type="text/javascript">
$(document).ready(function() {
- $('#inactive-user:not(:has(tbody tr.empty))').tablesorter({widgets: ['zebra'], headers: { 0: { sorter: false } }, sortList: [[3,0]]});
+ $('#inactive-user:not(:has(tbody tr.empty))').tablesorter({widgets: ['zebra'], headers: { 0: { sorter: false }, 2: { sorter: false } }, sortList: [[1,0]]});
$('#missing-pkgbase:not(:has(tbody tr.empty))').tablesorter({widgets: ['zebra'], headers: { 0: { sorter: false } }, sortList: [[1,0]]});
-});
- $('#wrong-permissions:not(:has(tbody tr.empty))').tablesorter({widgets: ['zebra'], headers: { 0: { sorter: false } }, sortList: [[3,0]]});
+ $('#wrong-permissions:not(:has(tbody tr.empty))').tablesorter({widgets: ['zebra'], headers: { 0: { sorter: false }, 2: { sorter: false } }, sortList: [[1,0]]});
$('table.results').bind('sortEnd', function() {
$('input.relation-checkbox').enableCheckboxRangeSelection();
});
$('input.relation-checkbox').enableCheckboxRangeSelection();
+});
</script>
{% endblock %}