Bug 8435: DBRev 3.13.00.038
[koha.git] / C4 / ILSDI / Utility.pm
index bacabac..b56e1fa 100644 (file)
@@ -1,6 +1,7 @@
 package C4::ILSDI::Utility;
 
 # Copyright 2009 SARL Biblibre
+# Copyright 2011 software.coop and MJ Ray
 #
 # This file is part of Koha.
 #
@@ -24,7 +25,7 @@ use C4::Members;
 use C4::Items;
 use C4::Circulation;
 use C4::Biblio;
-use C4::Reserves qw(GetReservesFromBorrowernumber);
+use C4::Reserves qw(GetReservesFromBorrowernumber CanBookBeReserved);
 use C4::Context;
 use C4::Branch qw/GetBranchName/;
 use Digest::MD5 qw(md5_base64);
@@ -34,11 +35,11 @@ use vars qw($VERSION @ISA @EXPORT);
 BEGIN {
 
     # set the version for version checking
-    $VERSION = 3.00;
+    $VERSION = 3.07.00.049;
     require Exporter;
     @ISA    = qw(Exporter);
     @EXPORT = qw(
-      &BorrowerExists &CanBookBeReserved &Availability
+      &BorrowerExists &Availability
     );
 }
 
@@ -67,55 +68,6 @@ sub BorrowerExists {
     return $sth->fetchrow;
 }
 
-=head2 CanBookBeReserved
-
-Checks if a book (at bibliographic level) can be reserved by a borrower.
-
-       if ( CanBookBeReserved($borrower, $biblionumber) ) {
-               # Do stuff
-       }
-
-=cut
-
-sub CanBookBeReserved {
-    my ( $borrower, $biblionumber ) = @_;
-
-    my $MAXIMUM_NUMBER_OF_RESERVES = C4::Context->preference("maxreserves");
-    my $MAXOUTSTANDING             = C4::Context->preference("maxoutstanding");
-
-    my $out = 1;
-
-    if ( $borrower->{'amountoutstanding'} > $MAXOUTSTANDING ) {
-        $out = undef;
-    }
-    if ( $borrower->{gonenoaddress} eq 1 ) {
-        $out = undef;
-    }
-    if ( $borrower->{lost} eq 1 ) {
-        $out = undef;
-    }
-    if ( $borrower->{debarred} ) {
-        $out = undef;
-    }
-    my @reserves = GetReservesFromBorrowernumber( $borrower->{'borrowernumber'} );
-    if ( $MAXIMUM_NUMBER_OF_RESERVES && scalar(@reserves) >= $MAXIMUM_NUMBER_OF_RESERVES ) {
-        $out = undef;
-    }
-    foreach my $res (@reserves) {
-        if ( $res->{'biblionumber'} == $biblionumber ) {
-            $out = undef;
-        }
-    }
-    my $issues = GetPendingIssues( $borrower->{'borrowernumber'} );
-    foreach my $issue (@$issues) {
-        if ( $issue->{'biblionumber'} == $biblionumber ) {
-            $out = undef;
-        }
-    }
-
-    return $out;
-}
-
 =head2 Availability
 
 Returns, for an itemnumber, an array containing availability information.
@@ -141,7 +93,7 @@ sub Availability {
         return ( $biblionumber, 'not available', 'Checked out', $location );
     } elsif ( $item->{'itemlost'} ) {
         return ( $biblionumber, 'not available', 'Item lost', $location );
-    } elsif ( $item->{'wthdrawn'} ) {
+    } elsif ( $item->{'withdrawn'} ) {
         return ( $biblionumber, 'not available', 'Item withdrawn', $location );
     } elsif ( $item->{'damaged'} ) {
         return ( $biblionumber, 'not available', 'Item damaged', $location );