package C4::ILSDI::Utility;
# Copyright 2009 SARL Biblibre
+# Copyright 2011 software.coop and MJ Ray
#
# This file is part of Koha.
#
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
# A PARTICULAR PURPOSE. See the GNU General Public License for more details.
#
-# You should have received a copy of the GNU General Public License along with
-# Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
-# Suite 330, Boston, MA 02111-1307 USA
+# You should have received a copy of the GNU General Public License along
+# with Koha; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
use strict;
use warnings;
use C4::Items;
use C4::Circulation;
use C4::Biblio;
-use C4::Reserves;
+use C4::Reserves qw(GetReservesFromBorrowernumber CanBookBeReserved);
use C4::Context;
use C4::Branch qw/GetBranchName/;
use Digest::MD5 qw(md5_base64);
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
);
}
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} eq 1 ) {
- $out = undef;
- }
- my @reserves = GetReservesFromBorrowernumber( $borrower->{'borrowernumber'} );
- if ( 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.
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 );