summaryrefslogtreecommitdiffstats
path: root/main
diff options
context:
space:
mode:
authorDan McGee <dan@archlinux.org>2014-11-07 09:27:56 -0600
committerDan McGee <dan@archlinux.org>2014-11-07 09:27:56 -0600
commitcd22bfd73b184888df13b194ecdf6e482b36c3fc (patch)
treeb906e8ac5f48071e9814da36cb7d0a9ff521ce55 /main
parent9b5eb6ab383dcd090cdbf88a250ecdfd407c3beb (diff)
downloadarchweb-cd22bfd73b184888df13b194ecdf6e482b36c3fc.tar.gz
archweb-cd22bfd73b184888df13b194ecdf6e482b36c3fc.zip
Master signing keys page improvements
* Don't show non-packagers * Don't hardcode group names in view code * Reduce number of database queries for all of the cross-signature developer name lookups Signed-off-by: Dan McGee <dan@archlinux.org>
Diffstat (limited to 'main')
-rw-r--r--main/templatetags/pgp.py19
1 files changed, 6 insertions, 13 deletions
diff --git a/main/templatetags/pgp.py b/main/templatetags/pgp.py
index 2417f688..455e8f9c 100644
--- a/main/templatetags/pgp.py
+++ b/main/templatetags/pgp.py
@@ -44,21 +44,14 @@ def pgp_key_link(key_id, link_text=None):
return '<a href="%s" title="PGP key search for %s">%s</a>' % values
-@cache_function(1741)
-def name_for_key(normalized):
- try:
- matching_key = DeveloperKey.objects.select_related(
- 'owner').get(key=normalized, owner_id__isnull=False)
- return matching_key.owner.get_full_name()
- except DeveloperKey.DoesNotExist:
- return None
-
-
@register.simple_tag
-def user_pgp_key_link(key_id):
+def user_pgp_key_link(dev_keys, key_id):
normalized = key_id[-16:]
- name = name_for_key(normalized)
- return pgp_key_link(key_id, name)
+ found = dev_keys.get(normalized, None)
+ if found:
+ return pgp_key_link(key_id, found.owner.get_full_name())
+ else:
+ return pgp_key_link(key_id, None)
@register.filter(needs_autoescape=True)