Avoid potentially unnecessary database call in Auth
authorMichael Hafen <mdhafen@tech.washk12.org>
Mon, 14 Sep 2009 15:07:57 +0000 (09:07 -0600)
committerGalen Charlton <gmcharlt@gmail.com>
Tue, 15 Sep 2009 00:29:39 +0000 (20:29 -0400)
Auth, after verifying the session/logging in the user, calls to the database
to get the users borrowernumber.  This call is probably unnecessary because
borrowernumber is part of userenv.  Check userenv before going to the database.

Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
C4/Auth.pm

index d73f19b..7574f9e 100644 (file)
@@ -1468,6 +1468,10 @@ sub haspermission {
 
 sub getborrowernumber {
     my ($userid) = @_;
+    my $userenv = C4::Context->userenv;
+    if ( defined( $userenv ) && ref( $userenv ) eq 'HASH' && $userenv->{number} ) {
+        return $userenv->{number};
+    }
     my $dbh = C4::Context->dbh;
     for my $field ( 'userid', 'cardnumber' ) {
         my $sth =