Bug 22010: Check preferences for ebook integration
[srvgit] / opac / svc / overdrive
index 6fb949d..57333f0 100755 (executable)
@@ -47,10 +47,16 @@ eval {
             $action eq 'login' && do {
                 my $password = $cgi->param("password") // q{} ;
                 my $patron = Koha::Patrons->find({ userid => $user });
-                my $branch_info = Koha::Library::OverDriveInfos->find( $patron->branchcode ) if $patron;
-                my $branch_authname = $branch_info->authname if $branch_info;
+                my $branch_info = $patron ? Koha::Library::OverDriveInfos->find( $patron->branchcode ) : undef;
+                my $od_username;
+                if ( C4::Context->preference('OverDriveUsername') eq 'cardnumber' ){
+                    $od_username = $patron ? $patron->cardnumber : undef;
+                } else {
+                    $od_username = $user;
+                }
+                my $branch_authname = $branch_info ? $branch_info->authname : undef;
                 my $authname = $branch_authname || C4::Context->preference('OverDriveAuthname');
-                $od->auth_by_userid($user, $password,C4::Context->preference('OverDriveWebsiteID'),$authname);
+                $od->auth_by_userid($od_username, $password,C4::Context->preference('OverDriveWebsiteID'),$authname);
                 $data{login_success} = 1;
                 last;
             };