mirror of
				https://github.com/django/django.git
				synced 2025-10-31 09:41:08 +00:00 
			
		
		
		
	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:
		| @@ -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) | ||||||
|  |  | ||||||
|   | |||||||
| @@ -809,16 +809,6 @@ class Templates(unittest.TestCase): | |||||||
|                           '{% endfor %},' + \ |                           '{% endfor %},' + \ | ||||||
|                           '{% 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 %}', {}, '{%'), | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user