From 15f8d8c93165aad168aa145290bd076cd0ab80d7 Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Mon, 2 Jan 2023 17:12:40 +0100 Subject: [PATCH] Bug 32505: Restore patron search by formatted dob Prior to the rewrite of the patron searches (bug 30063 and friends) it was possible to search for a patron using their date of birth, formatted following the dateformat syspref. Now it only works if the date is iso formatted. This patch is providing a fix to restore the behaviour, but does not make it consistent. Only searching patrons by date of birth is fixed here, when we actually want to fix the problem for the REST API DT wrapper instead. Test plan: Search for patrons given their date of birth. You need to select "date of birth" in the "Search field" dropdown, or set it in DefaultPatronSearchFields. Note that the column filtering is still not working, but I guess it was the case already in older versions. Ideally we will need to have a "datatype" attribute passed to the the 'th' and retrieved from datatables.js to add this same trick and build the query appropriately. Signed-off-by: Lucas Gass Signed-off-by: Kyle M Hall Signed-off-by: Martin Renvoize (cherry picked from commit aa1f97c2ea4376f5c3232846038c224c927dddc8) Signed-off-by: Jacob O'Mara (cherry picked from commit 6e7f7c926f991c641e034f19cd493830c46fd95f) Signed-off-by: Lucas Gass --- .../intranet-tmpl/prog/en/includes/patron-search.inc | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/patron-search.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/patron-search.inc index 770f66ba7d..7844237293 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/includes/patron-search.inc +++ b/koha-tmpl/intranet-tmpl/prog/en/includes/patron-search.inc @@ -325,6 +325,14 @@ let sub_or = []; search_fields.split(',').forEach(function(attr,ii){ sub_or.push({["me."+attr]:{"like":(search_type == "contain" ? "%" : "" ) + pattern + "%"}}); + if ( attr == 'dateofbirth' ) { + try { + let d = $date_to_rfc3339(pattern); + sub_or.push({["me."+attr]:d}); + } catch { + // Hide the warning if the date is not correct + } + } }); subquery_and.push(sub_or); }); -- 2.39.5