From 995bee72d949daa94ec5c49ecd120aa096efcd1d Mon Sep 17 00:00:00 2001
From: Jared Camins-Esakov <jcamins@cpbibliography.com>
Date: Tue, 13 Nov 2012 11:02:24 -0500
Subject: [PATCH] Bug 9070: authority searches in auth_finder error out
GetAuthType returns a hash and not a reference to a hash. When you try
to treat a regular hash like a reference, as is the case in auth_finder
when using authority records imported into Koha from elsewhere, bad
things happen.
To test:
1) You will need records imported from elsewhere.
2) Use the authority control plugin in a bib record to search for one of
those headings.
3) Observe you get a nasty error.
4) Apply patch.
5) Repeat step 2.
6) Observe the error is gone.
7) Sign off.
---
C4/AuthoritiesMarc.pm | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/C4/AuthoritiesMarc.pm b/C4/AuthoritiesMarc.pm
index db340ba..8695a2e 100644
--- a/C4/AuthoritiesMarc.pm
+++ b/C4/AuthoritiesMarc.pm
@@ -358,10 +358,12 @@ sub SearchAuthorities {
$reported_tag .= '$' . $_->[0] . $_->[1];
}
}
- my $thisauthtype = GetAuthType(GetAuthTypeCode($authid));
- $thisauthtype |= GetAuthType($authtypecode) if $authtypecode;
- $newline{authtype} = defined ($thisauthtype) ?
- $thisauthtype->{'authtypetext'} : '';
+ my %thisauthtype = GetAuthType(GetAuthTypeCode($authid));
+ unless (defined %thisauthtype) {
+ %thisauthtype = GetAuthType($authtypecode) if $authtypecode;
+ }
+ $newline{authtype} = defined (%thisauthtype) ?
+ $thisauthtype{'authtypetext'} : '';
$newline{summary} = $summary;
$newline{even} = $counter % 2;
$newline{reported_tag} = $reported_tag;
--
1.7.9.5