Bug 17554: Koha::Patrons - Remove GetBorrowersWithEmail
authorJonathan Druart <jonathan.druart@bugs.koha-community.org>
Fri, 4 Nov 2016 14:43:21 +0000 (14:43 +0000)
committerJonathan Druart <jonathan.druart@bugs.koha-community.org>
Wed, 5 Jul 2017 16:43:21 +0000 (13:43 -0300)
C4::Members::GetBorrowersWithEmail can be easily replaced with
Koha::Patrons->search({ email => $email });

Test plan:
Confirm that you are still able to use PKI authentication

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
C4/Auth.pm
C4/Members.pm

index 9e787c0..549ece9 100644 (file)
@@ -995,12 +995,12 @@ sub checkauth {
                         # doesn't have a userid. So if there is none, we pass along the
                         # borrower number, and the bits of code that need to know the user
                         # ID will have to be smart enough to handle that.
-                        require C4::Members;
-                        my @users_info = C4::Members::GetBorrowersWithEmail($value);
-                        if (@users_info) {
+                        my $patrons = Koha::Patrons->search({ email => $value });
+                        if ($patrons->count) {
 
                             # First the userid, then the borrowernum
-                            $value = $users_info[0][1] || $users_info[0][0];
+                            my $patron = $patrons->next;
+                            $value = $patron->userid || $patron->borrowernumber;
                         } else {
                             undef $value;
                         }
index 8e99583..df5ac26 100644 (file)
@@ -74,7 +74,6 @@ BEGIN {
         &GetBorrowersToExpunge
 
         &IssueSlip
-        GetBorrowersWithEmail
 
         GetOverduesForPatron
     );
@@ -1247,33 +1246,6 @@ sub IssueSlip {
     );
 }
 
-=head2 GetBorrowersWithEmail
-
-    ([$borrnum,$userid], ...) = GetBorrowersWithEmail('me@example.com');
-
-This gets a list of users and their basic details from their email address.
-As it's possible for multiple user to have the same email address, it provides
-you with all of them. If there is no userid for the user, there will be an
-C<undef> there. An empty list will be returned if there are no matches.
-
-=cut
-
-sub GetBorrowersWithEmail {
-    my $email = shift;
-
-    my $dbh = C4::Context->dbh;
-
-    my $query = "SELECT borrowernumber, userid FROM borrowers WHERE email=?";
-    my $sth=$dbh->prepare($query);
-    $sth->execute($email);
-    my @result = ();
-    while (my $ref = $sth->fetch) {
-        push @result, $ref;
-    }
-    die "Failure searching for borrowers by email address: $sth->errstr" if $sth->err;
-    return @result;
-}
-
 =head2 AddMember_Auto
 
 =cut