From 4e4b0aff472e4e84d61250b0f01e97f3bf4b6aa1 Mon Sep 17 00:00:00 2001 From: CJ Lynce Date: Tue, 22 Jul 2025 14:05:08 +0000 Subject: [PATCH] Bug 40245: Show firstname in patron search results when different than preferred_name This patch shows the patron's firstname in search results and autosuggestions when thier preferred_name is different than their first name. Requires that sysprep ShowFirstIfDifferentThanPreferred is enabled. When disabled, only the preferred name shows in results. Test plan: 0. Apply patches and login to the staff interface. 1. Edit a patron to give a different preferred name than first. 2. Return to home page and search for the patron in the quick-search bar. 3. Verify patron shows up in autosuggest list, showing preferred name only. 4. Verify patron shows up in regular list (member.pl) with preferred name showing only. 5. Change syspref ShowFirstIfDifferentThanPreferred to "Show" and save. 6. Return to home page and search for the patron in the quick-search bar. 7. Verify patron shows up in autosuggest list, showing preferred name, and firstname in brackets. 8. Verify patron shows up in regular list (member.pl) with preferred name, and firstname in brackets. Sponsored-by: Westlake Porter Public Library Signed-off-by: Emily Lamancusa --- .../intranet-tmpl/prog/en/includes/js-patron-format.inc | 8 ++++++-- koha-tmpl/intranet-tmpl/prog/en/includes/js_includes.inc | 1 + .../intranet-tmpl/prog/en/includes/patron-search.inc | 8 ++++---- koha-tmpl/intranet-tmpl/prog/js/staff-global.js | 8 ++++++-- 4 files changed, 17 insertions(+), 8 deletions(-) diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/js-patron-format.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/js-patron-format.inc index 682d109b46..94fe2a6dd1 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/includes/js-patron-format.inc +++ b/koha-tmpl/intranet-tmpl/prog/en/includes/js-patron-format.inc @@ -5,7 +5,8 @@ * Format the patron response from a Koha RESTful API request. * @param {Object} patron The patron json object as returned from the Koha RESTful API * @param {Object} config A configuration object - * Valid keys are: `invert_name`, `display_cardnumber` and `url` + * Valid keys are: `invert_name`, `display_cardnumber`, `url` + * and `showlegal`. * @return {string} The formatted HTML string */ window.$patron_to_html = function (patron, config) { @@ -22,13 +23,16 @@ var firstname = escape_str(patron.firstname); var preferred_name = escape_str(patron.preferred_name); var surname = escape_str(patron.surname); + var showFirstIfDifferentThanPreferred = [% Koha.Preference('ShowFirstIfDifferentThanPreferred') | html %]; if (patron.middle_name != null && patron.middle_name != "") { firstname += " " + escape_str(patron.middle_name); preferred_name += " " + escape_str(patron.middle_name); } - if (patron.other_name != null && patron.other_name != "") { + if (showFirstIfDifferentThanPreferred && config && config.showlegal && patron.preferred_name != patron.firstname) { + preferred_name += " [" + escape_str(patron.firstname) + "]"; + } else if (patron.other_name != null && patron.other_name != "") { firstname += " (" + escape_str(patron.other_name) + ")"; preferred_name += " (" + escape_str(patron.other_name) + ")"; } diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/js_includes.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/js_includes.inc index d968eb8286..f83cdfb927 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/includes/js_includes.inc +++ b/koha-tmpl/intranet-tmpl/prog/en/includes/js_includes.inc @@ -74,6 +74,7 @@ var extendedPatronAttributes = "[% Koha.Preference('ExtendedPatronAttributes') | html %]"; var loggedInLibrary = '[% Branches.GetLoggedInBranchcode | html %]'; var singleBranchMode = '[% singleBranchMode | html %]'; + var showFirstIfDifferentThanPreferred = [% Koha.Preference('ShowFirstIfDifferentThanPreferred') | html %]; [% IF ( PatronAutoComplete ) %]