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
This commit is contained in:
parent
6929c0d4d1
commit
3d52ce730f
|
@ -924,18 +924,20 @@ def regroup(parser, token):
|
||||||
{% regroup people|dictsort:"gender" by gender as grouped %}
|
{% regroup people|dictsort:"gender" by gender as grouped %}
|
||||||
|
|
||||||
"""
|
"""
|
||||||
bits = token.contents.split()
|
firstbits = token.contents.split(None, 3)
|
||||||
if len(bits) != 6:
|
if len(firstbits) != 4:
|
||||||
raise TemplateSyntaxError, "'regroup' tag takes five arguments"
|
raise TemplateSyntaxError, "'regroup' tag takes five arguments"
|
||||||
target = parser.compile_filter(bits[1])
|
target = parser.compile_filter(firstbits[1])
|
||||||
if bits[2] != 'by':
|
if firstbits[2] != 'by':
|
||||||
raise TemplateSyntaxError("second argument to 'regroup' tag must be '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"
|
raise TemplateSyntaxError("next-to-last argument to 'regroup' tag must"
|
||||||
" be 'as'")
|
" be 'as'")
|
||||||
|
|
||||||
expression = parser.compile_filter(bits[3])
|
expression = parser.compile_filter(lastbits_reversed[2][::-1])
|
||||||
var_name = bits[5]
|
|
||||||
|
var_name = lastbits_reversed[0][::-1]
|
||||||
return RegroupNode(target, expression, var_name)
|
return RegroupNode(target, expression, var_name)
|
||||||
regroup = register.tag(regroup)
|
regroup = register.tag(regroup)
|
||||||
|
|
||||||
|
|
|
@ -810,16 +810,6 @@ class Templates(unittest.TestCase):
|
||||||
'{% 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 #######################################################
|
### TEMPLATETAG TAG #######################################################
|
||||||
'templatetag01': ('{% templatetag openblock %}', {}, '{%'),
|
'templatetag01': ('{% templatetag openblock %}', {}, '{%'),
|
||||||
'templatetag02': ('{% templatetag closeblock %}', {}, '%}'),
|
'templatetag02': ('{% templatetag closeblock %}', {}, '%}'),
|
||||||
|
|
Loading…
Reference in New Issue