fix: Use get_timedelta in cast, add to safe_exec list

* Return date and datetime objects for Date and Datetime field types
  respectively if Falsy output is set
This commit is contained in:
Gavin D'souza 2021-08-31 13:04:32 +05:30
parent 3858e95e80
commit 8622142d7d
2 changed files with 8 additions and 7 deletions

View file

@ -583,19 +583,19 @@ def cast(fieldtype, value=None):
value = cstr(value)
elif fieldtype == "Date":
if value is None:
if value:
value = getdate(value)
else:
value = datetime.datetime(1, 1, 1).date()
value = getdate(value)
elif fieldtype == "Datetime":
if value is None:
if value:
value = get_datetime(value)
else:
value = datetime.datetime(1, 1, 1)
value = get_datetime(value)
elif fieldtype == "Time":
if value is None:
value = "0:0:0"
value = to_timedelta(value)
value = get_timedelta(value)
return value

View file

@ -228,6 +228,7 @@ VALID_UTILS = (
"getdate",
"get_datetime",
"to_timedelta",
"get_timedelta",
"add_to_date",
"add_days",
"add_months",