fixing adding new user
authorDobrica Pavlinusic <dpavlin@rot13.org>
Sat, 19 Oct 2019 08:36:09 +0000 (10:36 +0200)
committerDobrica Pavlinusic <dpavlin@rot13.org>
Sat, 19 Oct 2019 08:36:09 +0000 (10:36 +0200)
lib/C4/Auth.pm

index a70c13f..344d2ea 100644 (file)
@@ -886,7 +886,7 @@ warn "XXX AuthMemCookie $token = $data";
                                my $sth = $dbh->prepare(qq{ update borrowers set userid = ? where userid = cardnumber and cardnumber = ? });
                                $sth->execute( $userid, $cardnumber );
                        } else {
                                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,
 
                                        cardnumber => $cardnumber,
                                        categorycode => $categorycode,
 
@@ -897,10 +897,20 @@ warn "XXX AuthMemCookie $token = $data";
                                        email     => $saml->{ATTR_email},
                                        dateexpiry => '2020-12-13',
                                        password => $token, # required so AddMember won't erase userid
                                        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";
 
 
                                warn "ADDED $data";