Fixed #29109 -- Fixed the admin time picker widget for the Thai locale.
This commit is contained in:
parent
b832de869e
commit
1a1264f149
|
@ -19,13 +19,13 @@ DATE_INPUT_FORMATS = [
|
||||||
'%d %B %Y', # 25 ตุลาคม 2006
|
'%d %B %Y', # 25 ตุลาคม 2006
|
||||||
]
|
]
|
||||||
TIME_INPUT_FORMATS = [
|
TIME_INPUT_FORMATS = [
|
||||||
'%H:%M:%S.%f', # 14:30:59.000200
|
|
||||||
'%H:%M:%S', # 14:30:59
|
'%H:%M:%S', # 14:30:59
|
||||||
|
'%H:%M:%S.%f', # 14:30:59.000200
|
||||||
'%H:%M', # 14:30
|
'%H:%M', # 14:30
|
||||||
]
|
]
|
||||||
DATETIME_INPUT_FORMATS = [
|
DATETIME_INPUT_FORMATS = [
|
||||||
'%d/%m/%Y %H:%M:%S.%f', # 25/10/2006 14:30:59.000200
|
|
||||||
'%d/%m/%Y %H:%M:%S', # 25/10/2006 14:30:59
|
'%d/%m/%Y %H:%M:%S', # 25/10/2006 14:30:59
|
||||||
|
'%d/%m/%Y %H:%M:%S.%f', # 25/10/2006 14:30:59.000200
|
||||||
'%d/%m/%Y %H:%M', # 25/10/2006 14:30
|
'%d/%m/%Y %H:%M', # 25/10/2006 14:30
|
||||||
]
|
]
|
||||||
DECIMAL_SEPARATOR = '.'
|
DECIMAL_SEPARATOR = '.'
|
||||||
|
|
|
@ -11,3 +11,7 @@ Bugfixes
|
||||||
|
|
||||||
* Fixed a regression that caused sliced ``QuerySet.distinct().order_by()``
|
* Fixed a regression that caused sliced ``QuerySet.distinct().order_by()``
|
||||||
followed by ``count()`` to crash (:ticket:`29108`).
|
followed by ``count()`` to crash (:ticket:`29108`).
|
||||||
|
|
||||||
|
* Prioritized the datetime and time input formats without ``%f`` for the Thai
|
||||||
|
locale to fix the admin time picker widget displaying "undefined"
|
||||||
|
(:ticket:`29109`).
|
||||||
|
|
|
@ -3,6 +3,7 @@ import decimal
|
||||||
import gettext as gettext_module
|
import gettext as gettext_module
|
||||||
import os
|
import os
|
||||||
import pickle
|
import pickle
|
||||||
|
import re
|
||||||
from contextlib import contextmanager
|
from contextlib import contextmanager
|
||||||
from importlib import import_module
|
from importlib import import_module
|
||||||
from threading import local
|
from threading import local
|
||||||
|
@ -1095,6 +1096,22 @@ class FormattingTests(SimpleTestCase):
|
||||||
with translation.override('fr', deactivate=True):
|
with translation.override('fr', deactivate=True):
|
||||||
self.assertEqual('d/m/Y CUSTOM', get_format('CUSTOM_DAY_FORMAT'))
|
self.assertEqual('d/m/Y CUSTOM', get_format('CUSTOM_DAY_FORMAT'))
|
||||||
|
|
||||||
|
def test_admin_javascript_supported_input_formats(self):
|
||||||
|
"""
|
||||||
|
The first input format for DATE_INPUT_FORMATS, TIME_INPUT_FORMATS, and
|
||||||
|
DATETIME_INPUT_FORMATS must not contain %f since that's unsupported by
|
||||||
|
the admin's time picker widget.
|
||||||
|
"""
|
||||||
|
regex = re.compile('%([^BcdHImMpSwxXyY%])')
|
||||||
|
for language_code, language_name in settings.LANGUAGES:
|
||||||
|
for format_name in ('DATE_INPUT_FORMATS', 'TIME_INPUT_FORMATS', 'DATETIME_INPUT_FORMATS'):
|
||||||
|
with self.subTest(language=language_code, format=format_name):
|
||||||
|
formatter = get_format(format_name, lang=language_code)[0]
|
||||||
|
self.assertEqual(
|
||||||
|
regex.findall(formatter), [],
|
||||||
|
"%s locale's %s uses an unsupported format code." % (language_code, format_name)
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
class MiscTests(SimpleTestCase):
|
class MiscTests(SimpleTestCase):
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue