[TELE-1302]fix bug with str and LazyDateObject
This commit is contained in:
parent
1fcd8758e0
commit
43fde04a8a
|
@ -8,10 +8,18 @@ from django import template
|
|||
from django.utils.safestring import SafeText
|
||||
from wcs.qommon import misc
|
||||
from wcs.qommon.templatetags.qommon import unlazy
|
||||
from wcs.variables import LazyDateObject
|
||||
|
||||
register = template.Library()
|
||||
|
||||
|
||||
def unlazy_date(fdate):
|
||||
if isinstance(fdate, LazyDateObject):
|
||||
return str(unlazy(fdate))
|
||||
else:
|
||||
return fdate
|
||||
|
||||
|
||||
@register.filter
|
||||
def clean_string(value):
|
||||
return value.replace(" ", "").replace(".", "").replace("-", "")
|
||||
|
@ -57,6 +65,9 @@ def diff_dates(oldest_date, newest_date):
|
|||
"""
|
||||
|
||||
def transform_date(fdate):
|
||||
if type(fdate) == LazyDateObject:
|
||||
fdate = unlazy(fdate)
|
||||
fdate = fdate[:10]
|
||||
if "/" in fdate:
|
||||
return datetime.datetime.strptime(fdate, "%d/%m/%Y")
|
||||
if "-" in fdate:
|
||||
|
@ -65,9 +76,12 @@ def diff_dates(oldest_date, newest_date):
|
|||
if len(fdate.split("-")[0]) == 2:
|
||||
return datetime.datetime.strptime(fdate, "%d-%m-%Y")
|
||||
|
||||
if type(oldest_date) == SafeText:
|
||||
oldest_date = unlazy_date(oldest_date)
|
||||
newest_date = unlazy_date(newest_date)
|
||||
|
||||
if type(oldest_date) in (SafeText, str):
|
||||
oldest_date = transform_date(oldest_date)
|
||||
if type(newest_date) == SafeText:
|
||||
if type(newest_date) in (SafeText, str):
|
||||
newest_date = transform_date(newest_date)
|
||||
diff = abs((oldest_date - newest_date).days)
|
||||
return str(diff)
|
||||
|
|
Loading…
Reference in New Issue