From fff9cf9c5537d9f758a9e30fcb18df800c70f051 Mon Sep 17 00:00:00 2001 From: Dan McGee Date: Sat, 18 Oct 2014 15:17:56 -0500 Subject: Convert bulk of package details page to Jinja2 We wrap the whole thing in a Django template so we don't have to convert our base template to Jinja2 (or have one for each templating engine). This also simplifies the static stuff so we can just keep using the Django tags. Signed-off-by: Dan McGee --- templates/packages/details.html.jinja | 221 ++++++++++++++++++++++++++++++++++ 1 file changed, 221 insertions(+) create mode 100644 templates/packages/details.html.jinja (limited to 'templates/packages/details.html.jinja') diff --git a/templates/packages/details.html.jinja b/templates/packages/details.html.jinja new file mode 100644 index 00000000..7ca5629c --- /dev/null +++ b/templates/packages/details.html.jinja @@ -0,0 +1,221 @@ +{% import 'packages/details_link.html.jinja' as details %} +
+

{{ pkg.pkgname }} {{ pkg.full_version }}

+ + + +
+ + + + + + + +
+ +
+ + + + + + + + + {% if pkg.pkgname == pkg.pkgbase %} + {% with splits = pkg.split_packages() %}{% if splits %} + + + + + {% endif %}{% endwith %} + {% else %} + + + {% with base = pkg.base_package %}{% if base %} + + {% else %} + + {% endif %}{% endwith %} + + {% endif %} + + + + + + + + + + + {% with groups = pkg.groups.all() %}{% if groups %} + + + + + {% endif %}{% endwith %} + {% with all_related = pkg.provides.all() %}{% if all_related %} + + + + + {% endif %}{% endwith %} + {% with all_related = pkg.replaces.all() %}{% if all_related %} + + + + + {% endif %}{% endwith %} + {% with all_related = pkg.conflicts.all() %}{% if all_related %} + + + + + {% endif %}{% endwith %} + {% with rev_conflicts = pkg.reverse_conflicts() %}{% if rev_conflicts %} + + + + + {% endif %}{% endwith %} + + + {% with maints = pkg.maintainers %} + + {% endwith %} + + + + + + + + + + + + + {% if pkg.signature %} + + + + + + {% else %} + + + {% endif %} + + + + {% if user.is_authenticated %}{% with flag_request = pkg.flag_request() %}{% if flag_request %} + + + {% endif %}{% endwith %}{% endif %} +
Architecture:{{ pkg.arch.name }}
Repository:{{ pkg.repo.name|capfirst }}
Split Packages:{% for s in splits %}{{ details.details_link(s) }}{% if not loop.last %}, {% endif %}{% endfor %}
Base Package:{{ details.details_link(base) }}{{ pkg.pkgbase }}
Description:{{ pkg.pkgdesc|default("") }}
Upstream URL:{% if pkg.url %}{% endif %}
License(s):{{ pkg.licenses.all()|join(", ") }}
Groups:{% for g in groups %} + {{ g.name }}{% if not loop.last %}, {% endif %}{% endfor %} +
Provides:{% include "packages/details_relatedto.html.jinja" %}
Replaces:{% include "packages/details_relatedto.html.jinja" %}
Conflicts:{% include "packages/details_relatedto.html.jinja" %}
Reverse Conflicts:{% for conflict in rev_conflicts %} + {{ details.details_link(conflict) }}{% if not loop.last %}, {% endif %}{% endfor %}
Maintainers:{% if maints %} + {% for m in maints %} + {{ maintainer_link(m)|safe }}
+ {% endfor %} + {% else %}Orphan{% endif %} +
Package Size:{{ pkg.compressed_size|filesizeformat }}
Installed Size:{{ pkg.installed_size|filesizeformat }}
Last Packager:{% with pkgr = pkg.packager %}{% if pkgr %}{{ packager_link(pkgr)|safe }}{% else %}{{ pkg.packager_str }}{% endif %}{% endwith %}
Build Date:{{ pkg.build_date|date("DATETIME_FORMAT") }} UTC
Signed By:{% 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 %}
Signature Date:{{ pkg.signature.creation_time|date("DATETIME_FORMAT") }} UTC
Signed By:Unsigned
Last Updated:{{ pkg.last_update|date("DATETIME_FORMAT") }} UTC
Last Flag Request:From {{ flag_request.who() }} on {{ flag_request.created|date }}:
+
{{ flag_request.message|linebreaksbr|default("{no message}") }}
+
+ +
+ {% with deps = pkg.get_depends() %} +
+

+ Dependencies ({{deps|length}})

+ {% if deps %}
    + {% for depend in deps %}{% include "packages/details_depend.html.jinja" %}{% endfor %} +
{% endif %} +
+ {% endwith %} + {% with rqdby = pkg.get_requiredby() %} +
+

+ Required By ({{rqdby|length}})

+ {% if rqdby %}
    + {% for req in rqdby %}{% include "packages/details_requiredby.html.jinja" %}{% endfor %} +
{% endif %} +
+ {% endwith %} +
+

+ Package Contents

+ +
+
+
-- cgit v1.2.3-54-g00ecf From 122302e9e5fb9752a942abe5691ad3dd6d186196 Mon Sep 17 00:00:00 2001 From: Dan McGee Date: Sat, 18 Oct 2014 15:36:56 -0500 Subject: Move maintainer/packager link code back into template Signed-off-by: Dan McGee --- packages/templatetags/jinja2.py | 26 -------------------------- templates/packages/details.html.jinja | 14 ++++++++------ 2 files changed, 8 insertions(+), 32 deletions(-) (limited to 'templates/packages/details.html.jinja') diff --git a/packages/templatetags/jinja2.py b/packages/templatetags/jinja2.py index 263fc156..22f9914b 100644 --- a/packages/templatetags/jinja2.py +++ b/packages/templatetags/jinja2.py @@ -24,32 +24,6 @@ def link_encode(url, query): return "%s?%s" % (url, data) -@library.global_function -def maintainer_link(user): - if user: - # TODO don't hardcode - title = escape('View packages maintained by ' + user.get_full_name()) - return '%s' % ( - user.username, - title, - user.get_full_name(), - ) - return '' - - -@library.global_function -def packager_link(user): - if user: - # TODO don't hardcode - title = escape('View packages packaged by ' + user.get_full_name()) - return '%s' % ( - user.username, - title, - user.get_full_name(), - ) - return '' - - @library.global_function def pgp_key_link(key_id, link_text=None): return pgp.pgp_key_link(key_id, link_text) diff --git a/templates/packages/details.html.jinja b/templates/packages/details.html.jinja index 7ca5629c..52d13f14 100644 --- a/templates/packages/details.html.jinja +++ b/templates/packages/details.html.jinja @@ -149,11 +149,10 @@ Maintainers: {% with maints = pkg.maintainers %} - {% if maints %} - {% for m in maints %} - {{ maintainer_link(m)|safe }}
- {% endfor %} - {% else %}Orphan{% endif %} + {% if maints %}{% for m in maints %} + {{ m.get_full_name() }}
+ {% endfor %}{% else %}Orphan{% endif %} {% endwith %} @@ -164,7 +163,10 @@ {{ pkg.installed_size|filesizeformat }} Last Packager: - {% with pkgr = pkg.packager %}{% if pkgr %}{{ packager_link(pkgr)|safe }}{% else %}{{ pkg.packager_str }}{% endif %}{% endwith %} + {% with pkgr = pkg.packager %}{% if pkgr %} + {{ pkgr.get_full_name() }} + {% else %}{{ pkg.packager_str }}{% endif %}{% endwith %} Build Date: {{ pkg.build_date|date("DATETIME_FORMAT") }} UTC -- cgit v1.2.3-54-g00ecf From ff09c7877e58ddadaf677bf133cd110711bbc5a8 Mon Sep 17 00:00:00 2001 From: Dan McGee Date: Sun, 19 Oct 2014 10:39:03 -0500 Subject: Fix function vs. property reference in Jinja template Signed-off-by: Dan McGee --- templates/packages/details.html.jinja | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'templates/packages/details.html.jinja') diff --git a/templates/packages/details.html.jinja b/templates/packages/details.html.jinja index 52d13f14..0b5d0ae8 100644 --- a/templates/packages/details.html.jinja +++ b/templates/packages/details.html.jinja @@ -93,7 +93,7 @@ {% else %} Base Package: - {% with base = pkg.base_package %}{% if base %} + {% with base = pkg.base_package() %}{% if base %} {{ details.details_link(base) }} {% else %} Date: Sun, 19 Oct 2014 11:00:20 -0500 Subject: Fix Jinja2 render in no-packager case Signed-off-by: Dan McGee --- templates/packages/details.html.jinja | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'templates/packages/details.html.jinja') diff --git a/templates/packages/details.html.jinja b/templates/packages/details.html.jinja index 0b5d0ae8..21be80f5 100644 --- a/templates/packages/details.html.jinja +++ b/templates/packages/details.html.jinja @@ -69,10 +69,10 @@ - -
+ + {% if pkg.packager %}
-
+
{% endif %} -- cgit v1.2.3-54-g00ecf
Architecture: