From 24ea7c5068d61986f4a68ab7de4b094efc6d88f1 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 --- .../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 de4ba90c0d..b5794d02e6 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/includes/patron-search.inc +++ b/koha-tmpl/intranet-tmpl/prog/en/includes/patron-search.inc @@ -328,6 +328,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.30.2