Bug 38233: respect OPAC visibility for ILS-DI GetRecords

This change makes the ILS-DI GetRecords service use the OPAC
version of the MARCXML and filters items based on their OPAC visibility

Test plan:
1. Apply the patch
2. koha-plack --restart kohadev
3. Go to http://localhost:8081/cgi-bin/koha/admin/preferences.pl?op=search&searchfield=ILS-DI
and enable syspref
4. Go to http://localhost:8081/cgi-bin/koha/admin/preferences.pl?op=search&searchfield=OpacHiddenItems
and add the following:
withdrawn: [1]
5. Go to http://localhost:8081/cgi-bin/koha/admin/preferences.pl?op=search&searchfield=hidelostitems
Change syspref to "Don't show"
6. Go to http://localhost:8081/cgi-bin/koha/catalogue/detail.pl?biblionumber=29
7. Add a withdrawn item and a lost item with barcodes of "test1" and "test2" respectively
8. Go to http://localhost:8080/cgi-bin/koha/ilsdi.pl?service=GetRecords&id=29
9. Note the items with barcodes test1 and test2 do not appear in the "items" tree and they don't
appear in the "marcxml" tree.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Pedro Amorim <pedro.amorim@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
This commit is contained in:
David Cook 2024-10-22 23:57:57 +00:00 committed by Katrin Fischer
parent b8e69361bd
commit 369e5ab93a
No known key found for this signature in database
GPG Key ID: 0EF6E2C03357A834
1 changed files with 2 additions and 2 deletions

View File

@ -218,7 +218,7 @@ sub GetRecords {
my $biblioitem = $biblio->biblioitem->unblessed;
my $record = $biblio->metadata->record({ embed_items => 1 });
my $record = $biblio->metadata->record({ embed_items => 1, opac => 1, });
if ($record) {
$biblioitem->{marcxml} = $record->as_xml_record( C4::Context->preference('marcflavour') );
}
@ -236,7 +236,7 @@ sub GetRecords {
foreach my $checkout (@$checkouts) {
delete $checkout->{'borrowernumber'};
}
my @items = $biblio->items->as_list;
my @items = $biblio->items->filter_by_visible_in_opac->as_list;
$biblioitem->{items}->{item} = [];