From: Colin Campbell Date: Wed, 21 Oct 2009 08:54:18 +0000 (+0100) Subject: Koha Bug 3723: Correct return of Institution in Patron Info Resp X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=refs%2Fheads%2Fuser%2Fgmcharlt%2Fpatron_info_resp_field_order;p=working%2FSIPServer.git Koha Bug 3723: Correct return of Institution in Patron Info Resp While the comment correctly notes that the order of variable length fields is not fixed some units expect mandatory fields to follow the sequence in the protocol definition and fail parsing otherwise. Moved institution id to its expected place in the patron information response. Signed-off-by: Galen Charlton Conflicts: Sip/MsgType.pm Signed-off-by: Galen Charlton --- diff --git a/Sip/MsgType.pm b/Sip/MsgType.pm index abdeec2..37d6eba 100644 --- a/Sip/MsgType.pm +++ b/Sip/MsgType.pm @@ -941,6 +941,8 @@ sub handle_patron_info { $resp .= add_count('patron_info/recall_items', scalar @{$patron->recall_items }); $resp .= add_count('patron_info/unavail_holds', scalar @{$patron->unavail_holds}); + $resp .= add_field(FID_INST_ID, $server->{ils}->institution); + # while the patron ID we got from the SC is valid, let's # use the one returned from the ILS, just in case... $resp .= add_field(FID_PATRON_ID, $patron->id); @@ -1006,19 +1008,18 @@ sub handle_patron_info { # no personal name, and is invalid (if we're using 2.00) $resp .= 'YYYY' . (' ' x 10) . $lang . Sip::timestamp(); $resp .= '0000' x 6; - $resp .= add_field(FID_PERSONAL_NAME, ''); + $resp .= add_field(FID_INST_ID, $server->{ils}->institution); # the patron ID is invalid, but it's a required field, so # just echo it back $resp .= add_field(FID_PATRON_ID, $fields->{(FID_PATRON_ID)}); + $resp .= add_field(FID_PERSONAL_NAME, ''); if ($protocol_version >= 2) { $resp .= add_field(FID_VALID_PATRON, 'N'); } } - $resp .= add_field(FID_INST_ID, $server->{ils}->institution); - $self->write_msg($resp); return(PATRON_INFO);