From 7c9e84e419330e4a09fb09de9f59af430c9d5595 Mon Sep 17 00:00:00 2001 From: Pedro Amorim Date: Tue, 5 Mar 2024 17:04:57 +0000 Subject: [PATCH] Bug 36197: Update how the request is added: - Do not validate borrower if its an unauthenticated request - Set borrowernumber to null if its an unauthenticated request - Add staff and OPAC notes with unauthenticated request info Signed-off-by: David Nind --- Koha/ILL/Backend/Standard.pm | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/Koha/ILL/Backend/Standard.pm b/Koha/ILL/Backend/Standard.pm index 05d3a55ac6..777c312336 100644 --- a/Koha/ILL/Backend/Standard.pm +++ b/Koha/ILL/Backend/Standard.pm @@ -977,12 +977,15 @@ sub add_request { my ( $self, $params ) = @_; + my $unauthenticated_request = + C4::Context->preference("ILLOpacUnauthenticatedRequest") && !$params->{other}->{'cardnumber'}; + # ...Populate Illrequestattributes # generate $request_details my $request_details = _get_request_details( $params, $params->{other} ); my ( $brw_count, $brw ) = - _validate_borrower( $params->{other}->{'cardnumber'} ); + _validate_borrower( $params->{other}->{'cardnumber'} ) unless $unauthenticated_request; ## Create request @@ -992,7 +995,7 @@ sub add_request { # ...Populate Illrequest my $request = $params->{request}; $request->biblio_id($biblionumber) unless $biblionumber == 0; - $request->borrowernumber( $brw->borrowernumber ); + $request->borrowernumber( $brw ? $brw->borrowernumber : undef ); $request->branchcode( $params->{other}->{branchcode} ); $request->status( $unauthenticated_request ? 'UNAUTH' : 'NEW'); $request->backend( $params->{other}->{backend} ); @@ -1017,6 +1020,15 @@ sub add_request { } } + if ($unauthenticated_request) { + my $unauthenticated_notes_text = + "Unauthenticated request.\nFirst name: $params->{other}->{'unauthenticated_first_name'}" + . ".\nLast name: $params->{other}->{'unauthenticated_last_name'}." + . "\nEmail: $params->{other}->{'unauthenticated_email'}."; + $request->append_to_note($unauthenticated_notes_text); + $request->notesopac($unauthenticated_notes_text)->store; + } + return $request; } -- 2.39.5