Skip to content

Commit

Permalink
Reverted 'regroup' template tag changes from [6956], as they caused bug
Browse files Browse the repository at this point in the history
#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
  • Loading branch information
adrianholovaty committed Jan 5, 2008
1 parent 6929c0d commit 3d52ce7
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 17 deletions.
16 changes: 9 additions & 7 deletions django/template/defaulttags.py
Original file line number Diff line number Diff line change
Expand Up @@ -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)

Expand Down
10 changes: 0 additions & 10 deletions tests/regressiontests/templates/tests.py
Original file line number Diff line number Diff line change
Expand Up @@ -809,16 +809,6 @@ def get_template_tests(self):
'{% endfor %},' + \
'{% 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 %}', {}, '{%'),
Expand Down

0 comments on commit 3d52ce7

Please sign in to comment.