Bug 17820: use ->find instead of search->next
authorJonathan Druart <jonathan.druart@bugs.koha-community.org>
Wed, 28 Dec 2016 12:14:06 +0000 (13:14 +0100)
committerKyle M Hall <kyle@bywatersolutions.com>
Fri, 30 Dec 2016 11:51:02 +0000 (11:51 +0000)
From C4::Auth:
  my $patron = Koha::Patrons->search({ userid => $userid })->next;

This should be replaced with
  my $patron = Koha::Patrons->find({ userid => $userid });

userid is a unique key

Caught with NYTProf:
 # spent 78.9ms making 1 call to Koha::Objects::next

Test plan:
Login at the intranet
Reload the page
=> You must still be logged in

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Tested by enabling TrackLastPatronActivity and logging in again.
Verified lastseen column in borrowers.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
C4/Auth.pm

index 6b7dc66..c3ad657 100644 (file)
@@ -1185,7 +1185,7 @@ sub checkauth {
 
         if ( $userid ) {
             # track_login also depends on pref TrackLastPatronActivity
-            my $patron = Koha::Patrons->search({ userid => $userid })->next;
+            my $patron = Koha::Patrons->find({ userid => $userid });
             $patron->track_login if $patron;
         }