diff --git a/frappe/utils/data.py b/frappe/utils/data.py index 9ff8deb517..62eb6790e0 100644 --- a/frappe/utils/data.py +++ b/frappe/utils/data.py @@ -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 diff --git a/frappe/utils/safe_exec.py b/frappe/utils/safe_exec.py index 2e27859faa..4de685e53e 100644 --- a/frappe/utils/safe_exec.py +++ b/frappe/utils/safe_exec.py @@ -228,6 +228,7 @@ VALID_UTILS = ( "getdate", "get_datetime", "to_timedelta", +"get_timedelta", "add_to_date", "add_days", "add_months",