From 2461b12cef1665e6c84c96caf53ff8775092e530 Mon Sep 17 00:00:00 2001 From: Dan McGee Date: Wed, 28 Jul 2010 15:02:17 -0500 Subject: Add new 'userpkgs' template tag For easy linking to a given person's packages when we have a user object. Signed-off-by: Dan McGee --- packages/templatetags/package_extras.py | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/packages/templatetags/package_extras.py b/packages/templatetags/package_extras.py index ff66a9f2..66ba31a7 100644 --- a/packages/templatetags/package_extras.py +++ b/packages/templatetags/package_extras.py @@ -30,3 +30,25 @@ def do_buildsortqs(parser, token): "%r tag's argument should be in quotes" % tagname) return BuildQueryStringNode(sortfield[1:-1]) +@register.tag +def userpkgs(parser, token): + try: + tagname, user = token.split_contents() + except ValueError: + raise template.TemplateSyntaxError( + "%r tag requires a single argument" % tagname) + return UserPkgsNode(user) + +class UserPkgsNode(template.Node): + def __init__(self, user): + self.user = template.Variable(user) + + def render(self, context): + try: + real_user = self.user.resolve(context) + # TODO don't hardcode + return '%s' % ( + real_user.username, real_user.get_full_name()) + except template.VariableDoesNotExist: + return '' + pass -- cgit v1.2.3-55-g3dc8