From 3302adb20a73e2b3da3a4b00a1e0008afa4f245d Mon Sep 17 00:00:00 2001 From: Pedro Amorim Date: Mon, 20 Oct 2025 15:44:42 +0000 Subject: [PATCH] [24.11] Bug 41057: Return 404 if creating backend is not an OPAC backend Signed-off-by: Nial Halford-Busby --- opac/opac-illrequests.pl | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/opac/opac-illrequests.pl b/opac/opac-illrequests.pl index bb746547a31..a9968a357ee 100755 --- a/opac/opac-illrequests.pl +++ b/opac/opac-illrequests.pl @@ -48,6 +48,14 @@ if ( ! C4::Context->preference('ILLModule') ) { exit; } +my $reduced = C4::Context->preference('ILLOpacbackends'); +my $backends = Koha::ILL::Request::Config->new->available_backends( $reduced ); +$params->{backend} = 'Standard' if $params->{backend} eq 'FreeForm'; +if ( $params->{backend} && !grep { $_ eq $params->{backend} } @$backends ) { + print $query->redirect("/cgi-bin/koha/errors/404.pl"); + exit; +} + my ( $template, $loggedinuser, $cookie ) = get_template_and_user({ template_name => "opac-illrequests.tt", query => $query, @@ -55,8 +63,6 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user({ }); # Are we able to actually work? -my $reduced = C4::Context->preference('ILLOpacbackends'); -my $backends = Koha::ILL::Request::Config->new->available_backends($reduced); my $backends_available = ( scalar @{$backends} > 0 ); $template->param( backends_available => $backends_available ); my $patron = Koha::Patrons->find($loggedinuser); @@ -117,7 +123,6 @@ if ( $op eq 'list' ) { backends => $req->available_backends ); } else { - $params->{backend} = 'Standard' if $params->{backend} eq 'FreeForm'; my $request = Koha::ILL::Request->new ->load_backend($params->{backend}); -- 2.39.5