def do_permissionif(parser, token): # patch parser for django 1.3.1 parser = parser_patch(parser) bits = token.split_contents() ELIF = "el%s" % bits[0] ELSE = "else" ENDIF = "end%s" % bits[0] # {% if ... %} bits = bits[1:] condition = do_permissionif.Parser(parser, bits).parse() nodelist = parser.parse((ELIF, ELSE, ENDIF)) conditions_nodelists = [(condition, nodelist)] token = parser.next_token() # {% elif ... %} (repeatable) while token.contents.startswith(ELIF): bits = token.split_contents()[1:] condition = do_permissionif.Parser(parser, bits).parse() nodelist = parser.parse((ELIF, ELSE, ENDIF)) conditions_nodelists.append((condition, nodelist)) token = parser.next_token() # {% else %} (optional) if token.contents == ELSE: nodelist = parser.parse((ENDIF,)) conditions_nodelists.append((None, nodelist)) token = parser.next_token() # {% endif %} assert token.contents == ENDIF return IfNode(conditions_nodelists)
def do_permissionif(parser, token): # patch parser for django 1.3.1 parser = parser_patch(parser) bits = token.split_contents() ELIF = "el%s" % bits[0] ELSE = "else" ENDIF = "end%s" % bits[0] # {% if ... %} bits = bits[1:] condition = do_permissionif.Parser(parser, bits).parse() nodelist = parser.parse((ELIF, ELSE, ENDIF)) conditions_nodelists = [(condition, nodelist)] token = parser.next_token() # {% elif ... %} (repeatable) while token.contents.startswith(ELIF): bits = token.split_contents()[1:] condition = do_permissionif.Parser(parser, bits).parse() nodelist = parser.parse((ELIF, ELSE, ENDIF)) conditions_nodelists.append((condition, nodelist)) token = parser.next_token() # {% else %} (optional) if token.contents == ELSE: nodelist = parser.parse((ENDIF, )) conditions_nodelists.append((None, nodelist)) token = parser.next_token() # {% endif %} assert token.contents == ENDIF return IfNode(conditions_nodelists)
def do_permissionif(parser, token): """ Permission if templatetag Examples -------- :: {% if user has 'blogs.add_article' %} <p>This user have 'blogs.add_article' permission</p> {% elif user has 'blog.change_article' of object %} <p>This user have 'blogs.change_article' permission of {{object}}</p> {% endif %} {# If you set 'PERMISSION_REPLACE_BUILTIN_IF = False' in settings #} {% permission user has 'blogs.add_article' %} <p>This user have 'blogs.add_article' permission</p> {% elpermission user has 'blog.change_article' of object %} <p>This user have 'blogs.change_article' permission of {{object}}</p> {% endpermission %} """ # patch parser for django 1.3.1 parser = parser_patch(parser) bits = token.split_contents() ELIF = "el%s" % bits[0] ELSE = "else" ENDIF = "end%s" % bits[0] # {% if ... %} bits = bits[1:] condition = do_permissionif.Parser(parser, bits).parse() nodelist = parser.parse((ELIF, ELSE, ENDIF)) conditions_nodelists = [(condition, nodelist)] token = parser.next_token() # {% elif ... %} (repeatable) while token.contents.startswith(ELIF): bits = token.split_contents()[1:] condition = do_permissionif.Parser(parser, bits).parse() nodelist = parser.parse((ELIF, ELSE, ENDIF)) conditions_nodelists.append((condition, nodelist)) token = parser.next_token() # {% else %} (optional) if token.contents == ELSE: nodelist = parser.parse((ENDIF,)) conditions_nodelists.append((None, nodelist)) token = parser.next_token() # {% endif %} assert token.contents == ENDIF return IfNode(conditions_nodelists)
def do_permissionif(parser, token): """ Permission if templatetag Examples -------- :: {% if user has 'blogs.add_article' %} <p>This user have 'blogs.add_article' permission</p> {% elif user has 'blog.change_article' of object %} <p>This user have 'blogs.change_article' permission of {{object}}</p> {% endif %} {# If you set 'PERMISSION_REPLACE_BUILTIN_IF = False' in settings #} {% permission user has 'blogs.add_article' %} <p>This user have 'blogs.add_article' permission</p> {% elpermission user has 'blog.change_article' of object %} <p>This user have 'blogs.change_article' permission of {{object}}</p> {% endpermission %} """ # patch parser for django 1.3.1 parser = parser_patch(parser) bits = token.split_contents() ELIF = "el%s" % bits[0] ELSE = "else" ENDIF = "end%s" % bits[0] # {% if ... %} bits = bits[1:] condition = do_permissionif.Parser(parser, bits).parse() nodelist = parser.parse((ELIF, ELSE, ENDIF)) conditions_nodelists = [(condition, nodelist)] token = parser.next_token() # {% elif ... %} (repeatable) while token.contents.startswith(ELIF): bits = token.split_contents()[1:] condition = do_permissionif.Parser(parser, bits).parse() nodelist = parser.parse((ELIF, ELSE, ENDIF)) conditions_nodelists.append((condition, nodelist)) token = parser.next_token() # {% else %} (optional) if token.contents == ELSE: nodelist = parser.parse((ENDIF, )) conditions_nodelists.append((None, nodelist)) token = parser.next_token() # {% endif %} assert token.contents == ENDIF return IfNode(conditions_nodelists)