From 99a117fa873ead47bac20a7e834a2d933a415833 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 dadc7d8169..87b85892af 100644 --- a/Koha/ILL/Backend/Standard.pm +++ b/Koha/ILL/Backend/Standard.pm @@ -966,12 +966,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 @@ -981,7 +984,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} ); @@ -1006,6 +1009,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.2