From 0970eef56df1ac8fee1f3c5f0216a164be5048ec 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 Signed-off-by: Michaela Sieber Signed-off-by: Katrin Fischer Signed-off-by: Tomas Cohen Arazi --- cataloguing/addbiblio.pl | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/cataloguing/addbiblio.pl b/cataloguing/addbiblio.pl index 9711a892c6..815e2a80d4 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 ); @@ -864,6 +865,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 + } + } + ); + } } #------------------------------------------------------------------------------------- @@ -892,7 +907,7 @@ if ( $op eq "addbiblio" ) { $frameworkcode, { overlay_context => { - source => $z3950 ? 'z39.50' : 'intranet', + source => $z3950 ? 'z3950' : 'intranet', categorycode => $member->categorycode, userid => $member->userid } -- 2.39.5