Bug 25805: Return empty strings instead of undef in C4::SIP::ILS::Item::hold_patron_name
authorKyle M Hall <kyle@bywatersolutions.com>
Thu, 18 Jun 2020 13:01:36 +0000 (09:01 -0400)
committerJonathan Druart <jonathan.druart@bugs.koha-community.org>
Thu, 25 Jun 2020 08:39:37 +0000 (10:39 +0200)
This bug is basically the same as bug 24966, but for hold_patron_name instead of hold_patron_bcode.
The subroutine hold_patron_bcode should always return an empty string, not undef.

Test Plan:
1) Using the SIP cli emulator, checkin an item that is not checked out
2) Note the DA field contains someting like "C4::SIP::SIPServer=HASH(0x88175c8)"
   The hex number will almost certainly be different from this example
3) Apply this patch
4) Restart the SIP server
5) Run the SIP checkin again
6) Note the DA field is no longer present!

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>

C4/SIP/ILS/Item.pm

index 246acfa..705abd7 100644 (file)
@@ -167,7 +167,7 @@ sub hold_patron_id {
 }
 sub hold_patron_name {
     my ( $self, $template ) = @_;
-    my $borrowernumber = $self->hold_patron_id() or return;
+    my $borrowernumber = $self->hold_patron_id() or return q{};
 
     if ($template) {
         my $tt = Template->new();
@@ -182,7 +182,7 @@ sub hold_patron_name {
     my $holder = Koha::Patrons->find( $borrowernumber );
     unless ($holder) {
         siplog("LOG_ERR", "While checking hold, failed to retrieve the patron with borrowernumber '$borrowernumber'");
-        return;
+        return q{};
     }
     my $email = $holder->email || '';
     my $phone = $holder->phone || '';