From bb9b75e9820219030fde1a89ddffc23941b09d56 Mon Sep 17 00:00:00 2001 From: Johanna Raisa Date: Fri, 29 Jul 2022 08:37:50 +0300 Subject: [PATCH] Bug 30966: Record Overlay Rules - can't use Z39.50 filter This patch fixes overlay rules on z39.50 import Test plan: 1) Create protection overlay rule to some fields for z39.50. 2) Import a record via z39.50. 3) See that the protected fields are replaced on the editor. 4) Apply the patch. 5) Import a record again. 6) See that the protected fields are in place on the editor. Sponsored-by: Koha-Suomi Oy --- cataloguing/addbiblio.pl | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/cataloguing/addbiblio.pl b/cataloguing/addbiblio.pl index 92abe81082..3cefa64277 100755 --- a/cataloguing/addbiblio.pl +++ b/cataloguing/addbiblio.pl @@ -35,6 +35,7 @@ use C4::Biblio qw( prepare_host_field PrepHostMarcField TransformHtmlToMarc + ApplyMarcOverlayRules ); use C4::Search qw( FindDuplicate enabled_staff_search_views ); use C4::Auth qw( get_template_and_user haspermission ); @@ -846,6 +847,20 @@ if ($biblionumber) { my $sth = $dbh->prepare("select biblioitemnumber from biblioitems where biblionumber=?"); $sth->execute($biblionumber); ($biblioitemnumber) = $sth->fetchrow; + if (C4::Context->preference('MARCOverlayRules')) { + my $member = Koha::Patrons->find($loggedinuser); + $record = ApplyMarcOverlayRules( + { + biblionumber => $biblionumber, + record => $record, + overlay_context => { + source => $z3950 ? 'z3950' : 'intranet', + categorycode => $member->categorycode, + userid => $member->userid + } + } + ); + } } #------------------------------------------------------------------------------------- @@ -874,7 +889,7 @@ if ( $op eq "addbiblio" ) { $frameworkcode, { overlay_context => { - source => $z3950 ? 'z39.50' : 'intranet', + source => $z3950 ? 'z3950' : 'intranet', categorycode => $member->categorycode, userid => $member->userid } -- 2.25.1