{PB => $SC->sipymd($patron->dob, 1)},
{PC => $patron->profile->name},
{XI => $patron->id},
- $SC->stat_cat_sip_fields($details->{item})
+ $SC->stat_cat_sip_fields($patron)
);
$SC->maybe_add_field($response, BD => $details->{patron_address});
return {
fixed_fields => [
- $SC->spacebool(1), # charge denied
- $SC->spacebool(1), # renew denied
- $SC->spacebool(1), # recall denied
- $SC->spacebool(1), # holds denied
- split('', (' ' x 10)),
+ ' ' x 14,
'000', # language
$SC->sipdate
],
}
my $patron = $details->{patron};
+
+ # SIP/JSON clients treat the patron status string as a single
+ # fixed field entry.
+ my $status =
+ $SC->spacebool($details->{charge_denied})
+ . $SC->spacebool($details->{renew_denied})
+ . $SC->spacebool($details->{recall_denied})
+ . $SC->spacebool($details->{holds_denied})
+ . $SC->spacebool($patron->card->active eq 'f')
+ . $SC->spacebool(0) # too many charged
+ . $SC->spacebool($details->{too_may_overdue})
+ . $SC->spacebool(0) # too many renewals
+ . $SC->spacebool(0) # too many claims retruned
+ . $SC->spacebool(0) # too many lost
+ . $SC->spacebool($details->{too_many_fines})
+ . $SC->spacebool($details->{too_many_fines})
+ . $SC->spacebool(0) # recall overdue
+ . $SC->spacebool($details->{too_many_fines})
+ ;
+
return {
fixed_fields => [
- $SC->spacebool($details->{charge_denied}),
- $SC->spacebool($details->{renew_denied}),
- $SC->spacebool($details->{recall_denied}),
- $SC->spacebool($details->{holds_denied}),
- $SC->spacebool($patron->card->active eq 'f'),
- $SC->spacebool(0), # too many charged
- $SC->spacebool($details->{too_may_overdue}),
- $SC->spacebool(0), # too many renewals
- $SC->spacebool(0), # too many claims retruned
- $SC->spacebool(0), # too many lost
- $SC->spacebool($details->{too_many_fines}),
- $SC->spacebool($details->{too_many_fines}),
- $SC->spacebool(0), # recall overdue
- $SC->spacebool($details->{too_many_fines}),
+ $status,
'000', # language
$SC->sipdate
],