From aa1f97c2ea4376f5c3232846038c224c927dddc8 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 --- .../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 9b394c9320..6207756ac2 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.39.5