From 78190371d00cb91ae668eb3d28a48ef33c112676 Mon Sep 17 00:00:00 2001 From: Nick Clemens Date: Fri, 20 Dec 2019 13:33:28 +0000 Subject: [PATCH] Bug 24286: Escape forward slash in GENRE/FORM (and any authtype) Note that bug 24267 will fix the issue during Z39 searching for new auth, but the duplicate check at saving will still fail To test: 0 - Set SearchEngine to Elasticsearch, QueryRegexEscapeOptions to 'Don't Escape' 1 - Browse to Authorities 2 - Select New->New from Z3950 3 - Search for subject 'Short stories' 4 - Auth search explodes 5 - Apply patch 6 - Repeat and confirm the search results return 7 - Import and save the GENRE/FORM record for Short stories 8 - Repeat the search and import the same record 9 - Confirm that upon save you are notified of duplicate, don't save 10 - set QueryRegexEscapeOptions to 'Escape' and confirm Z39 searching works and importing/save notifies of duplicate 11 - set SearchEngine to Zebra and confirm Z39 searching works and importing/save notifies of duplicate Signed-off-by: Kelly McElligott Signed-off-by: Myka Kennedy Stephens Signed-off-by: Jonathan Druart Signed-off-by: Martin Renvoize --- C4/AuthoritiesMarc.pm | 1 + 1 file changed, 1 insertion(+) diff --git a/C4/AuthoritiesMarc.pm b/C4/AuthoritiesMarc.pm index c0c42df2bd..c5b2131408 100644 --- a/C4/AuthoritiesMarc.pm +++ b/C4/AuthoritiesMarc.pm @@ -766,6 +766,7 @@ sub FindDuplicateAuthority { } else { $op = 'AND'; } + $authtypecode =~ s#/#\\/#; # GENRE/FORM contains forward slash which is a reserved character my $query='at:'.$authtypecode.' '; my $filtervalues=qr([\001-\040\Q!'"`#$%&*+,-./:;<=>?@(){[}_|~\E\]]); if ($record->field($auth_tag_to_report)) { -- 2.39.5