Fixed #19282 -- Restored ability to pass Decimals to intcomma filter
This commit is contained in:
parent
10026c2ad0
commit
7e6ad76b24
|
@ -1,6 +1,7 @@
|
|||
from __future__ import unicode_literals
|
||||
import re
|
||||
from datetime import date, datetime
|
||||
from decimal import Decimal
|
||||
|
||||
from django import template
|
||||
from django.conf import settings
|
||||
|
@ -35,7 +36,7 @@ def intcomma(value, use_l10n=True):
|
|||
"""
|
||||
if settings.USE_L10N and use_l10n:
|
||||
try:
|
||||
if not isinstance(value, float):
|
||||
if not isinstance(value, (float, Decimal)):
|
||||
value = int(value)
|
||||
except (TypeError, ValueError):
|
||||
return intcomma(value, False)
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
from __future__ import unicode_literals
|
||||
import datetime
|
||||
from decimal import Decimal
|
||||
|
||||
try:
|
||||
import pytz
|
||||
|
@ -58,20 +59,20 @@ class HumanizeTests(TestCase):
|
|||
|
||||
def test_intcomma(self):
|
||||
test_list = (100, 1000, 10123, 10311, 1000000, 1234567.25,
|
||||
'100', '1000', '10123', '10311', '1000000', '1234567.1234567',
|
||||
'100', '1000', '10123', '10311', '1000000', '1234567.1234567', Decimal('1234567.1234567'),
|
||||
None)
|
||||
result_list = ('100', '1,000', '10,123', '10,311', '1,000,000', '1,234,567.25',
|
||||
'100', '1,000', '10,123', '10,311', '1,000,000', '1,234,567.1234567',
|
||||
'100', '1,000', '10,123', '10,311', '1,000,000', '1,234,567.1234567', '1,234,567.1234567',
|
||||
None)
|
||||
|
||||
self.humanize_tester(test_list, result_list, 'intcomma')
|
||||
|
||||
def test_l10n_intcomma(self):
|
||||
test_list = (100, 1000, 10123, 10311, 1000000, 1234567.25,
|
||||
'100', '1000', '10123', '10311', '1000000', '1234567.1234567',
|
||||
'100', '1000', '10123', '10311', '1000000', '1234567.1234567', Decimal('1234567.1234567'),
|
||||
None)
|
||||
result_list = ('100', '1,000', '10,123', '10,311', '1,000,000', '1,234,567.25',
|
||||
'100', '1,000', '10,123', '10,311', '1,000,000', '1,234,567.1234567',
|
||||
'100', '1,000', '10,123', '10,311', '1,000,000', '1,234,567.1234567', '1,234,567.1234567',
|
||||
None)
|
||||
|
||||
with self.settings(USE_L10N=True, USE_THOUSAND_SEPARATOR=False):
|
||||
|
|
Loading…
Reference in New Issue