mirror of
https://github.com/django/django.git
synced 2025-07-04 09:49:12 +00:00
[1.1.X] Fixed #11687: the add
filter is now less failsome when faced with things that can't be coerced to integers.
Backport of [12497] from trunk, although the fix here is slightly different to avoid adding new behavior to a bugfix branch. git-svn-id: http://code.djangoproject.com/svn/django/branches/releases/1.1.X@12499 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
8c4f16657f
commit
bd79677e29
@ -650,7 +650,10 @@ unordered_list.needs_autoescape = True
|
|||||||
|
|
||||||
def add(value, arg):
|
def add(value, arg):
|
||||||
"""Adds the arg to the value."""
|
"""Adds the arg to the value."""
|
||||||
return int(value) + int(arg)
|
try:
|
||||||
|
return int(value) + int(arg)
|
||||||
|
except (ValueError, TypeError):
|
||||||
|
return value
|
||||||
add.is_safe = False
|
add.is_safe = False
|
||||||
|
|
||||||
def get_digit(value, arg):
|
def get_digit(value, arg):
|
||||||
|
@ -333,4 +333,10 @@ def get_filter_tests():
|
|||||||
'date02': (r'{{ d|date }}', {'d': datetime(2008, 1, 1)}, 'Jan. 1, 2008'),
|
'date02': (r'{{ d|date }}', {'d': datetime(2008, 1, 1)}, 'Jan. 1, 2008'),
|
||||||
#Ticket 9520: Make sure |date doesn't blow up on non-dates
|
#Ticket 9520: Make sure |date doesn't blow up on non-dates
|
||||||
'date03': (r'{{ d|date:"m" }}', {'d': 'fail_string'}, ''),
|
'date03': (r'{{ d|date:"m" }}', {'d': 'fail_string'}, ''),
|
||||||
|
|
||||||
|
# Ticket #11687: make sure that add works on int-able things.
|
||||||
|
'add01': (r'{{ i|add:"5" }}', {'i': 2000}, '2005'),
|
||||||
|
'add02': (r'{{ i|add:"napis" }}', {'i': 2000}, '2000'),
|
||||||
|
'add03': (r'{{ i|add:16 }}', {'i': 'not_an_int'}, 'not_an_int'),
|
||||||
|
'add04': (r'{{ i|add:"16" }}', {'i': 'not_an_int'}, 'not_an_int'),
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user