Bug 22461: Fix LDAP user replication
authorJonathan Druart <jonathan.druart@bugs.koha-community.org>
Fri, 15 Mar 2019 23:16:41 +0000 (20:16 -0300)
committerroot <root@f1ebe1bec408>
Thu, 18 Apr 2019 09:55:34 +0000 (09:55 +0000)
From bug 20287:
-        $borrowernumber = C4::Members::AddMember(%borrower) or die "AddMember failed";
+        Koha::Patron->new( \%borrower )->store;
         C4::Members::Messaging::SetMessagingPreferencesFromDefaults( { borrowernumber => $borrowernumber, categorycode => $borrower{'categorycode'} } );

$borrowernumber is not updated with the value of the newly created patron

This patch restores the previous behavior (as well as the die)

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Alex Arnaud <alex.arnaud@biblibre.com>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>

C4/Auth_with_ldap.pm

index d9841a8..3e2ab5c 100644 (file)
@@ -221,7 +221,9 @@ sub checkpw_ldap {
                return(1, $cardnumber, $local_userid);
         }
     } elsif ($config{replicate}) { # A2, C2
-        Koha::Patron->new( \%borrower )->store;
+        my $patron = Koha::Patron->new( \%borrower )->store;
+        die "Insert of new patron failed" unless $patron;
+        $borrowernumber = $patron->borrowernumber;
         C4::Members::Messaging::SetMessagingPreferencesFromDefaults( { borrowernumber => $borrowernumber, categorycode => $borrower{'categorycode'} } );
    } else {
         return 0;   # B2, D2