From 852dbae6ceb663d4ed0f0891f376b5ff9d12610f Mon Sep 17 00:00:00 2001 From: Suraj Shetty Date: Fri, 6 May 2022 12:09:13 +0530 Subject: [PATCH] fix: Do not convert timezone of date field --- frappe/public/js/frappe/form/controls/date.js | 8 ++++---- frappe/public/js/frappe/form/controls/datetime.js | 2 -- frappe/public/js/frappe/utils/datetime.js | 5 ++++- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/frappe/public/js/frappe/form/controls/date.js b/frappe/public/js/frappe/form/controls/date.js index 0f80371706..bea7e77bd1 100644 --- a/frappe/public/js/frappe/form/controls/date.js +++ b/frappe/public/js/frappe/form/controls/date.js @@ -137,13 +137,13 @@ frappe.ui.form.ControlDate = class ControlDate extends frappe.ui.form.ControlDat }); } parse(value) { - if(value) { - return frappe.datetime.user_to_str(value); + if (value) { + return frappe.datetime.user_to_str(value, false, true); } } format_for_input(value) { - if(value) { - return frappe.datetime.str_to_user(value); + if (value) { + return frappe.datetime.str_to_user(value, false, true); } return ""; } diff --git a/frappe/public/js/frappe/form/controls/datetime.js b/frappe/public/js/frappe/form/controls/datetime.js index d1a06a6ac6..9b10465d7b 100644 --- a/frappe/public/js/frappe/form/controls/datetime.js +++ b/frappe/public/js/frappe/form/controls/datetime.js @@ -45,8 +45,6 @@ frappe.ui.form.ControlDatetime = class ControlDatetime extends frappe.ui.form.Co } format_for_input(value) { if (!value) return ""; - - return frappe.datetime.str_to_user(value, false); } set_description() { diff --git a/frappe/public/js/frappe/utils/datetime.js b/frappe/public/js/frappe/utils/datetime.js index 196bdf68a3..2bf64fd88e 100644 --- a/frappe/public/js/frappe/utils/datetime.js +++ b/frappe/public/js/frappe/utils/datetime.js @@ -133,7 +133,7 @@ $.extend(frappe.datetime, { return frappe.sys_defaults && frappe.sys_defaults.date_format || "yyyy-mm-dd"; }, - str_to_user: function(val, only_time = false) { + str_to_user: function(val, only_time=false, only_date=false) { if (!val) return ""; const user_date_fmt = frappe.datetime.get_user_date_fmt().toUpperCase(); const user_time_fmt = frappe.datetime.get_user_time_fmt(); @@ -142,6 +142,9 @@ $.extend(frappe.datetime, { if (only_time) { let date_obj = moment(val, frappe.defaultTimeFormat); return date_obj.format(user_format); + } else if (only_date) { + let date_obj = moment(val, frappe.defaultDateFormat); + return date_obj.format(user_date_fmt); } else { let date_obj = moment.tz(val, frappe.boot.time_zone.system); if (typeof val !== "string" || val.indexOf(" ") === -1) {