Commit 3d52ce73 authored by Adrian Holovaty's avatar Adrian Holovaty
Browse files

Reverted 'regroup' template tag changes from [6956], as they caused bug #6271,...

Reverted 'regroup' template tag changes from [6956], as they caused bug #6271, which affects one of my sites. I don't have time to inspect the #6271 patch, so I'm reverting this change in the interim, to fix the bug immediately.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@6996 bcc190cf-cafb-0310-a4f2-bffc1f526a37
parent 6929c0d4
Loading
Loading
Loading
Loading
+9 −7
Original line number Diff line number Diff line
@@ -924,18 +924,20 @@ def regroup(parser, token):
        {% regroup people|dictsort:"gender" by gender as grouped %}

    """
    bits = token.contents.split()
    if len(bits) != 6:
    firstbits = token.contents.split(None, 3)
    if len(firstbits) != 4:
        raise TemplateSyntaxError, "'regroup' tag takes five arguments"
    target = parser.compile_filter(bits[1])
    if bits[2] != 'by':
    target = parser.compile_filter(firstbits[1])
    if firstbits[2] != 'by':
        raise TemplateSyntaxError("second argument to 'regroup' tag must be 'by'")
    if bits[4] != 'as':
    lastbits_reversed = firstbits[3][::-1].split(None, 2)
    if lastbits_reversed[1][::-1] != 'as':
        raise TemplateSyntaxError("next-to-last argument to 'regroup' tag must"
                                  " be 'as'")

    expression = parser.compile_filter(bits[3])
    var_name = bits[5]
    expression = parser.compile_filter(lastbits_reversed[2][::-1])

    var_name = lastbits_reversed[0][::-1]
    return RegroupNode(target, expression, var_name)
regroup = register.tag(regroup)

+0 −10
Original line number Diff line number Diff line
@@ -810,16 +810,6 @@ class Templates(unittest.TestCase):
                          '{% endfor %}',
                          {}, ''),

            # Test syntax.
            'regroup03': ('{% regroup data by bar as %}', {},
                          template.TemplateSyntaxError),
            'regroup04': ('{% regroup data by bar thisaintright grouped %}', {},
                          template.TemplateSyntaxError),
            'regroup05': ('{% regroup data thisaintright bar as grouped %}', {},
                          template.TemplateSyntaxError),
            'regroup06': ('{% regroup data by bar as grouped toomanyargs %}', {},
                          template.TemplateSyntaxError),

            ### TEMPLATETAG TAG #######################################################
            'templatetag01': ('{% templatetag openblock %}', {}, '{%'),
            'templatetag02': ('{% templatetag closeblock %}', {}, '%}'),