my $sth = $dbh->prepare(qq{ update borrowers set userid = ? where userid = cardnumber and cardnumber = ? });
$sth->execute( $userid, $cardnumber );
} else {
- my $borrower = {
+ my %borrower = (
cardnumber => $cardnumber,
categorycode => $categorycode,
email => $saml->{ATTR_email},
dateexpiry => '2020-12-13',
password => $token, # required so AddMember won't erase userid
- };
-
- require C4::Members;
- C4::Members::AddMember( %$borrower );
+ );
+
+ #require C4::Members;
+ #C4::Members::AddMember( %$borrower );
+
+ my @columns = Koha::Patrons->columns;
+ my $patron = Koha::Patron->new(
+ {
+ map { exists( $borrower{$_} ) ? ( $_ => $borrower{$_} ) : () } @columns
+ }
+ )->store;
+ die "Insert of new patron failed" unless $patron;
+ $borrowernumber = $patron->borrowernumber;
+ C4::Members::Messaging::SetMessagingPreferencesFromDefaults( { borrowernumber => $borrowernumber, categorycode => $borrower{'categorycode'} } );
warn "ADDED $data";