$saml->{ATTR_code} =~ m/^\w\w\d+/ ? 'D' :
'O';
+ my $cardnumber = $categorycode . $saml->{ATTR_code};
+
if ( my $borrowernumber = getborrowernumber($saml->{ATTR_nick}) ) {
- warn "SAML login OK $borrowernumber";
+ warn "SAML login OK $borrowernumber using ATTR_nick: ", $saml->{ATTR_nick};
+ } elsif ( my $borrowernumber = getborrowernumber( $cardnumber ) ) {
+ warn "SAML login OK $borrowernumber using cardnumber: $cardnumber update userid: $userid";
+ my $sth = $dbh->prepare(qq{ update borrowers set userid = ? where userid = cardnumber and cardnumber = ? });
+ $sth->execute( $userid, $cardnumber );
} else {
my $borrower = {
- cardnumber => $categorycode . $saml->{ATTR_code},
+ cardnumber => $cardnumber,
categorycode => $categorycode,
userid => $saml->{ATTR_nick},