It should be returning the usual 404, but is no checking it and throwing template errors instead. To reproduce: 1. Have KTD launched with an ILL backend loaded: $ ktd --proxy --name rapido --single-plugin ~/git/koha-plugins/rapido-ill up -d $ ktd --shell k$ cd /kohadevbox/plugins/rapido-ill/scripts k$ perl bootstrap_rapido_testing.pl k$ restart_all 2. Log into the instance at `http://rapido-admin.localhost` 3. Point your browser to a [non-existent ILL request](http://rapido-intra.localhost/cgi-bin/koha/ill/ill-requests.pl?op=illview&illrequest_id=1000) => FAIL: Boo, template errors and stacktrace Note: In production, the you get a 500 error and the template errors show up in the logs.
Created attachment 193981 [details] [review] Bug 41944: Fix template error for non-existent ILL requests This patch fixes a template error that occurred when attempting to view a non-existent ILL request in the staff interface. Previously, navigating to ill-requests.pl with an invalid illrequest_id would result in a 500 error and a stacktrace. This change introduces a check for the existence of the ILL request immediately after retrieval. If no request is found, the script now redirects to the standard 404 error page, providing a graceful exit and preventing internal errors. Test plan: 1. Ensure KTD is launched with Rapido ILL plugin and bootstrapped (do NOT apply this patch yet): $ ktd --proxy --name rapido --single-plugin ~/git/koha-plugins/rapido-ill up -d $ ktd --shell k$ cd /kohadevbox/plugins/rapido-ill/scripts k$ perl bootstrap_rapido_testing.pl k$ restart_all 2. Log into the staff interface at http://rapido-intra.localhost. 3. Point your browser to a non-existent ILL request, e.g., http://rapido-intra.localhost/cgi-bin/koha/ill/ill-requests.pl?op=illview&illrequest_id=1000 => FAIL: Template errors and a stacktrace are displayed, or a 500 error in production logs. 4. Apply this patch. 5. Repeat step 3. => SUCCESS: The browser redirects to a 404 Not Found page, and no template errors or stacktraces are displayed. 6. Sign off :-D
Created attachment 194201 [details] [review] Bug 41944: Fix template error for non-existent ILL requests This patch fixes a template error that occurred when attempting to view a non-existent ILL request in the staff interface. Previously, navigating to ill-requests.pl with an invalid illrequest_id would result in a 500 error and a stacktrace. This change introduces a check for the existence of the ILL request immediately after retrieval. If no request is found, the script now redirects to the standard 404 error page, providing a graceful exit and preventing internal errors. Test plan: 1. Ensure KTD is launched with Rapido ILL plugin and bootstrapped (do NOT apply this patch yet): $ ktd --proxy --name rapido --single-plugin ~/git/koha-plugins/rapido-ill up -d $ ktd --shell k$ cd /kohadevbox/plugins/rapido-ill/scripts k$ perl bootstrap_rapido_testing.pl k$ restart_all 2. Log into the staff interface at http://rapido-intra.localhost. 3. Point your browser to a non-existent ILL request, e.g., http://rapido-intra.localhost/cgi-bin/koha/ill/ill-requests.pl?op=illview&illrequest_id=1000 => FAIL: Template errors and a stacktrace are displayed, or a 500 error in production logs. 4. Apply this patch. 5. Repeat step 3. => SUCCESS: The browser redirects to a 404 Not Found page, and no template errors or stacktraces are displayed. 6. Sign off :-D Signed-off-by: David Nind <david@davidnind.com>
Testing notes (using KTD): 1. Enable the ILL module (ILLModule system preference). 2. Attempt to view a non-existent ILL request: STAFF-INTERFACE-URL/cgi-bin/koha/ill/ill-requests.pl?op=illview&illrequest_id=1000 3. Stack trace error: Template process failed: file error - : not found at /kohadevbox/koha/C4/Templates.pm line 146