From 16853fae7e7e9c98809178f57eef21e92ff17fe7 Mon Sep 17 00:00:00 2001
From: Alex Arnaud <alex.arnaud@biblibre.com>
Date: Mon, 10 Mar 2025 16:21:13 +0100
Subject: [PATCH] hotline#193156 : fix date format when typing manually in
 DTpickers

---
 VERSIONS_HOTLINE/193156                            |  1 +
 .../jquery.simple-dtpicker.js                      | 14 +++++++++++++-
 2 files changed, 14 insertions(+), 1 deletion(-)
 create mode 100644 VERSIONS_HOTLINE/193156

diff --git a/VERSIONS_HOTLINE/193156 b/VERSIONS_HOTLINE/193156
new file mode 100644
index 00000000000..9b54897e47a
--- /dev/null
+++ b/VERSIONS_HOTLINE/193156
@@ -0,0 +1 @@
+- correctif #193156 : corrige la saisie manuelle dans les datetimepickers
\ No newline at end of file
diff --git a/public/opac/js/mugifly-jquery-simple-datetimepicker/jquery.simple-dtpicker.js b/public/opac/js/mugifly-jquery-simple-datetimepicker/jquery.simple-dtpicker.js
index 8afcb2a83b8..b90f8c3bc29 100644
--- a/public/opac/js/mugifly-jquery-simple-datetimepicker/jquery.simple-dtpicker.js
+++ b/public/opac/js/mugifly-jquery-simple-datetimepicker/jquery.simple-dtpicker.js
@@ -856,7 +856,8 @@
 						$(this).addClass('active');
 
 						var $picker = getParentPickerObject($(this));
-						var date = getPickedDate($picker);
+                                                var $inp = getPickersInputObject($picker);
+                                                date = formatDateString($picker, $inp.val());
 						var hour = $(this).data("hour");
 						var min = $(this).data("min");
 						draw($picker, {
@@ -927,6 +928,17 @@
 		return obj !== undefined && obj !== null && clas === type;
 	};
 
+     var formatDateString = function($picker, date_string) {
+         var format = $picker.data('dateFormat');
+         // Do we need to do that for each available formats ?
+         if (format.startsWith('DD/MM/YYYY')) {
+             parts = date_string.split(' ')[0].split('/');
+             return new Date(parts[2], parts[1] -1, parts[0]);
+         }
+
+         return getPickedDate($picker);
+     };
+
 	var init = function($obj, opt) {
 		/* Container */
 		var $picker = $('<div>');
-- 
GitLab