From 2a155a1a3b69da35d015985bca7396db1e57076b Mon Sep 17 00:00:00 2001 From: David Cook Date: Mon, 10 Mar 2025 01:10:12 +0000 Subject: [PATCH] Bug 37713: Do not show record metadata if OPAC suppressed This change checks the 942$n if OpacSuppression is enabled, and does not return the record metadata if 942$n is true. See BZ 31161. Test plan: 0. Apply the patch 1. koha-plack --restart kohadev 2. Enable syspref "OAI-PMH" 3. Set syspref "OpacSuppression" to "Hide" 4. Go to http://localhost:8080/cgi-bin/koha/oai.pl?verb=ListRecords&metadataPrefix=oai_dc 5. Note KOHA-OAI-TEST:2 metadata visible 6. Go to http://localhost:8081/cgi-bin/koha/catalogue/detail.pl?biblionumber=2 7. Set 942$n to "Yes" 8. Go to http://localhost:8080/cgi-bin/koha/oai.pl?verb=ListRecords&metadataPrefix=oai_dc 9. Note KOHA-OAI-TEST:2 metadata no longer visible and instead "Record Status: deleted" shows --- Koha/OAI/Server/Repository.pm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Koha/OAI/Server/Repository.pm b/Koha/OAI/Server/Repository.pm index 82bc89efe7..84bfd73186 100644 --- a/Koha/OAI/Server/Repository.pm +++ b/Koha/OAI/Server/Repository.pm @@ -211,12 +211,16 @@ sub get_biblio_marcxml { } if ($record) { + # Check if the bibliographic record is suppressed in OPAC + if ( C4::Context->preference('OpacSuppression') && $biblio->opac_suppressed ) { + return; + } + my $rules = C4::Context->yaml_preference('OpacHiddenItems') // {}; if ( $biblio->hidden_in_opac( { rules => $rules } ) ) { return; } - #TODO: Also hide record if OpacSuppression is in use } return ( $record ? $record->as_xml_record( C4::Context->preference('marcflavour') ) : undef, $decoding_error ); -- 2.39.5