Remove the complicated tag processing from ballot_icon, instead just

decorate the function with @simple_tag(takes_context=True)
 - Legacy-Id: 6970
This commit is contained in:
Ole Laursen 2013-12-18 10:22:30 +00:00
parent 35520c8473
commit e2e6c243a1

View file

@ -62,8 +62,10 @@ def showballoticon(doc):
return True
@register.simple_tag(takes_context=True)
def ballot_icon(context, doc):
user = context.get("user")
def render_ballot_icon(doc, user):
if not doc:
return ""
@ -118,23 +120,6 @@ def render_ballot_icon(doc, user):
return "".join(res)
class BallotIconNode(template.Node):
def __init__(self, doc_var):
self.doc_var = doc_var
def render(self, context):
doc = template.resolve_variable(self.doc_var, context)
return render_ballot_icon(doc, context.get("user"))
def do_ballot_icon(parser, token):
try:
tag_name, doc_name = token.split_contents()
except ValueError:
raise template.TemplateSyntaxError, "%r tag requires exactly two arguments" % token.contents.split()[0]
return BallotIconNode(doc_name)
register.tag('ballot_icon', do_ballot_icon)
@register.filter
def ballotposition(doc, user):
if not showballoticon(doc) or not has_role(user, "Area Director"):