[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 django.utils.safestring import SafeText
|
||||||
from wcs.qommon import misc
|
from wcs.qommon import misc
|
||||||
from wcs.qommon.templatetags.qommon import unlazy
|
from wcs.qommon.templatetags.qommon import unlazy
|
||||||
|
from wcs.variables import LazyDateObject
|
||||||
|
|
||||||
register = template.Library()
|
register = template.Library()
|
||||||
|
|
||||||
|
|
||||||
|
def unlazy_date(fdate):
|
||||||
|
if isinstance(fdate, LazyDateObject):
|
||||||
|
return str(unlazy(fdate))
|
||||||
|
else:
|
||||||
|
return fdate
|
||||||
|
|
||||||
|
|
||||||
@register.filter
|
@register.filter
|
||||||
def clean_string(value):
|
def clean_string(value):
|
||||||
return value.replace(" ", "").replace(".", "").replace("-", "")
|
return value.replace(" ", "").replace(".", "").replace("-", "")
|
||||||
|
@ -57,6 +65,9 @@ def diff_dates(oldest_date, newest_date):
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def transform_date(fdate):
|
def transform_date(fdate):
|
||||||
|
if type(fdate) == LazyDateObject:
|
||||||
|
fdate = unlazy(fdate)
|
||||||
|
fdate = fdate[:10]
|
||||||
if "/" in fdate:
|
if "/" in fdate:
|
||||||
return datetime.datetime.strptime(fdate, "%d/%m/%Y")
|
return datetime.datetime.strptime(fdate, "%d/%m/%Y")
|
||||||
if "-" in fdate:
|
if "-" in fdate:
|
||||||
|
@ -65,9 +76,12 @@ def diff_dates(oldest_date, newest_date):
|
||||||
if len(fdate.split("-")[0]) == 2:
|
if len(fdate.split("-")[0]) == 2:
|
||||||
return datetime.datetime.strptime(fdate, "%d-%m-%Y")
|
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)
|
oldest_date = transform_date(oldest_date)
|
||||||
if type(newest_date) == SafeText:
|
if type(newest_date) in (SafeText, str):
|
||||||
newest_date = transform_date(newest_date)
|
newest_date = transform_date(newest_date)
|
||||||
diff = abs((oldest_date - newest_date).days)
|
diff = abs((oldest_date - newest_date).days)
|
||||||
return str(diff)
|
return str(diff)
|
||||||
|
|
Loading…
Reference in New Issue