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 %} | ||||
|  | ||||
|     """ | ||||
|     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) | ||||
|  | ||||
|   | ||||
| @@ -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 %}', {}, '%}'), | ||||
|   | ||||
		Reference in New Issue
	
	Block a user