diff --git a/frappe/public/build.json b/frappe/public/build.json index 71edc97e9c..0ddf713690 100755 --- a/frappe/public/build.json +++ b/frappe/public/build.json @@ -344,6 +344,7 @@ "public/js/frappe/views/reports/print_tree.html" ], "js/web_form.min.js": [ + "public/js/frappe/misc/datetime.js", "website/js/web_form.js", "public/js/lib/summernote/summernote.js", "public/js/lib/datepicker/datepicker.min.js", diff --git a/frappe/public/js/frappe/form/controls/date.js b/frappe/public/js/frappe/form/controls/date.js index 2513e52e6a..f7edfac6fb 100644 --- a/frappe/public/js/frappe/form/controls/date.js +++ b/frappe/public/js/frappe/form/controls/date.js @@ -9,7 +9,7 @@ frappe.ui.form.ControlDate = frappe.ui.form.ControlData.extend({ }, set_formatted_input: function(value) { this._super(value); - if(!value) return; + if(!value || !this.datepicker) return; let should_refresh = this.last_value && this.last_value !== value; @@ -27,7 +27,6 @@ frappe.ui.form.ControlDate = frappe.ui.form.ControlData.extend({ } } - if(should_refresh) { this.datepicker.selectDate(frappe.datetime.str_to_obj(value)); } @@ -123,7 +122,6 @@ frappe.ui.form.ControlDate = frappe.ui.form.ControlData.extend({ }, validate: function(value) { if(value && !frappe.datetime.validate(value)) { - // webformTODO: let sysdefaults = frappe.sys_defaults; let date_format = sysdefaults && sysdefaults.date_format ? sysdefaults.date_format : 'yyyy-mm-dd'; diff --git a/frappe/public/js/frappe/misc/datetime.js b/frappe/public/js/frappe/misc/datetime.js index 2fdb84897b..800d50b4dc 100644 --- a/frappe/public/js/frappe/misc/datetime.js +++ b/frappe/public/js/frappe/misc/datetime.js @@ -2,6 +2,7 @@ // MIT License. See license.txt frappe.provide('frappe.datetime'); +import moment from 'moment'; frappe.defaultDateFormat = "YYYY-MM-DD"; frappe.defaultTimeFormat = "HH:mm:ss"; @@ -91,7 +92,7 @@ $.extend(frappe.datetime, { }, get_user_fmt: function() { - return frappe.sys_defaults.date_format || "yyyy-mm-dd"; + return frappe.sys_defaults && frappe.sys_defaults.date_format || "yyyy-mm-dd"; }, str_to_user: function(val, only_time = false) {