From 049285b441641d917c1d17bceff27a5f583db936 Mon Sep 17 00:00:00 2001 From: Pedro Amorim Date: Thu, 19 Oct 2023 10:42:48 +0000 Subject: [PATCH] Bug 35105: Fix patron accessor in Illrequest.pm Patron is nullable, so we need to consider undef return Test plan, k-t-d: 1) Install FreeForm and enable ILLmodule, run: bash <(curl -s https://raw.githubusercontent.com/ammopt/koha-ill-dev/master/start-ill-dev.sh) 2) Visit /cgi-bin/koha/ill/ill-requests.pl 3) Create 'New ILL request' 4) Select the request type, input cardnumber '42' and select a library 5) Hit 'Create' 6) Manage the request created just now: click the request id or 'manage request' button from the table 7) Click "Edit request" from the top actions toolbar 8a) Input text in Patron ID e.g. 'asdasdasf'. Notice you get redirected to the table - now renders correctly. 8b) Input a patron id that doesn't exist e.g. '987654'. Notice you get an error upon saving "FK Constraint error", go back to the table and verify it renders correctly. In both instances, the request is saved with borrowernumber as NULL, this was preventing the table from rendering because the 'patron' API embed was trying to retrieve a patron - getting an empty resultset instead of undef. Signed-off-by: Martin Renvoize Signed-off-by: Tomas Cohen Arazi (cherry picked from commit 540626ef1510f9cae567efe646bb72f520cfbf2e) Signed-off-by: Fridolin Somers --- Koha/Illrequest.pm | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/Koha/Illrequest.pm b/Koha/Illrequest.pm index 90dab74b17..04a75414bd 100644 --- a/Koha/Illrequest.pm +++ b/Koha/Illrequest.pm @@ -225,14 +225,17 @@ sub logs { my $patron = $request->patron; -Returns the linked I object. +For a given request, return the linked I object +associated with it, or undef if none exists =cut sub patron { my ( $self ) = @_; - return Koha::Patron->_new_from_dbic( scalar $self->_result->patron ); + my $patron_rs = $self->_result->patron; + return unless $patron_rs; + return Koha::Patron->_new_from_dbic($patron_rs); } =head3 library -- 2.39.5