From 00467badd14542294ba5b7c107683709877df386 Mon Sep 17 00:00:00 2001 From: Marcel de Rooy Date: Tue, 8 Sep 2020 12:59:53 +0000 Subject: [PATCH] Bug 20310: (follow-up) Add or remove orgcode in second try We did remove an orgcode, but we could also do the other way around. Note: Hard to include in the unit test since it mocks the whole search engine part. Test plan: [1] Run t/db_dependent/Koha/Biblio/host_record.t [2] Test host 001 = number and child 773 = (org)number [3] Test host 001 = (org)number and child 773 = number Signed-off-by: Marcel de Rooy https://bugs.koha-community.org/show_bug.cgi?id=20130 --- Koha/Biblio.pm | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/Koha/Biblio.pm b/Koha/Biblio.pm index 2f1cfed6e3..37d7fc14d7 100644 --- a/Koha/Biblio.pm +++ b/Koha/Biblio.pm @@ -935,8 +935,14 @@ sub host_record { $bibno = $engine->extract_biblionumber( $results->[0] ); last; } - # Extract number from $w (remove orgcode) for second try - $rcn= $1 if $try == 1 && $rcn =~ /\)\s*(\d+)/; + # Add or remove orgcode for second try + if( $try == 1 && $rcn =~ /\)\s*(\d+)/ ) { + $rcn = $1; # number only + } elsif( $try == 1 && $rcn =~ /^\d+/ ) { + $rcn = "($orgcode)$rcn"; + } else { + last; + } } if( $bibno ) { my $host = Koha::Biblios->find($bibno) or return; -- 2.11.0