templatetags: add parse_datetime, from django.utils.dateparse (#16178)
This commit is contained in:
parent
a1d79e0be9
commit
b88c28bdb0
|
@ -21,6 +21,7 @@ import datetime
|
|||
from django import template
|
||||
from django.template import RequestContext
|
||||
from django.template.base import TOKEN_BLOCK, TOKEN_VAR
|
||||
from django.utils import dateparse
|
||||
|
||||
from combo.public.menu import get_menu_context
|
||||
from combo.utils import NothingInCacheException
|
||||
|
@ -117,6 +118,13 @@ def strptime(date_string, date_format):
|
|||
except ValueError:
|
||||
return None
|
||||
|
||||
@register.filter
|
||||
def parse_datetime(date_string):
|
||||
try:
|
||||
return dateparse.parse_datetime(date_string)
|
||||
except ValueError:
|
||||
return None
|
||||
|
||||
@register.filter
|
||||
def shown_because_admin(cell, request):
|
||||
if not (request.user and request.user.is_superuser):
|
||||
|
|
|
@ -12,6 +12,20 @@ def test_strptime():
|
|||
assert t.render(Context({'someday': '2015-04-15'})) == '2015'
|
||||
assert t.render(Context({'someday': 'foobar'})) == ''
|
||||
|
||||
def test_parse_datetime():
|
||||
t = Template('{% load combo %}{{ someday|parse_datetime|date:"Y m d H i s T" }}')
|
||||
expected = '2015 04 15 13 11 12 UTC'
|
||||
assert t.render(Context({'someday': '2015-04-15T13:11:12'})) == expected
|
||||
assert t.render(Context({'someday': '2015-04-15T13:11:12Z'})) == expected
|
||||
assert t.render(Context({'someday': '2015-04-15T13:11:12+00:00'})) == expected
|
||||
assert t.render(Context({'someday': '2015-04-15T13:11:12.12345'})) == expected
|
||||
assert t.render(Context({'someday': '2015-04-15T13:11:12.12345Z'})) == expected
|
||||
assert t.render(Context({'someday': '2015-04-15T13:11:12.12345+00:00'})) == expected
|
||||
assert t.render(Context({'someday': '2015-04-15T13:11'})) == '2015 04 15 13 11 00 UTC'
|
||||
assert t.render(Context({'someday': '2015-04-15T13'})) == ''
|
||||
assert t.render(Context({'someday': 'foobar'})) == ''
|
||||
assert t.render(Context({'someday': ''})) == ''
|
||||
|
||||
def test_has_role():
|
||||
t = Template('{% load combo %}{{ request.user|has_role:"Role1" }}')
|
||||
|
||||
|
|
Loading…
Reference in New Issue