[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Koha-cvs] CVS: koha/C4/Circulation Renewals.pm,1.3,1.4
From: |
Andrew Arensburger |
Subject: |
[Koha-cvs] CVS: koha/C4/Circulation Renewals.pm,1.3,1.4 |
Date: |
Sat, 12 Oct 2002 23:22:50 -0700 |
Update of /cvsroot/koha/koha/C4/Circulation
In directory usw-pr-cvs1:/tmp/cvs-serv22446
Modified Files:
Renewals.pm
Log Message:
Added magic RCS comment.
Added some FIXME comments.
Added some explanatory comments.
Removed trailing whitespace.
Deleted unused variables.
Added POD.
Removed unused finalizer.
Index: Renewals.pm
===================================================================
RCS file: /cvsroot/koha/koha/C4/Circulation/Renewals.pm,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -r1.3 -r1.4
*** Renewals.pm 5 Oct 2002 09:54:50 -0000 1.3
--- Renewals.pm 13 Oct 2002 06:22:48 -0000 1.4
***************
*** 1,3 ****
! package C4::Circulation::Renewals; #assumes C4/Circulation/Renewals
#package to deal with Renewals
--- 1,5 ----
! package C4::Circulation::Renewals;
!
! # $Id$
#package to deal with Renewals
***************
*** 33,105 ****
# FIXME - C4::Circulation::Main and C4::Circulation::Renewals
# use each other, so functions get redefined.
-
use C4::Search;
use C4::Scan;
use C4::Stats;
! use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS);
!
# set the version for version checking
$VERSION = 0.01;
!
@ISA = qw(Exporter);
@EXPORT = qw(&renewstatus &renewbook &bulkrenew);
- %EXPORT_TAGS = ( ); # eg: TAG => [ qw!name1 name2! ],
-
- # your exported package globals go here,
- # as well as any optionally exported functions
-
- @EXPORT_OK = qw($Var1 %Hashit);
-
-
- # non-exported package globals go here
- use vars qw(@more $stuff);
-
- # initalize package globals, first exported ones
-
- my $Var1 = '';
- my %Hashit = ();
-
- # then the others (which are still accessible as $Some::Module::stuff)
- my $stuff = '';
- my @more = ();
-
- # all file-scoped lexicals must be created before
- # the functions below that use them.
-
- # file-private lexicals go here
- my $priv_var = '';
- my %secret_hash = ();
-
- # here's a file-private function as a closure,
- # callable as &$priv_func; it cannot be prototyped.
- my $priv_func = sub {
- # stuff goes here.
- };
-
- # make all your functions, whether exported or not;
-
-
- sub Return {
-
- }
sub renewstatus {
# check renewal status
my ($env,$dbh,$bornum,$itemno)address@hidden;
! my $renews = 1;
my $renewokay = 0;
! my $q1 = "select * from issues
where (borrowernumber = '$bornum')
! and (itemnumber = '$itemno')
and returndate is null";
my $sth1 = $dbh->prepare($q1);
$sth1->execute;
if (my $data1 = $sth1->fetchrow_hashref) {
my $q2 = "select renewalsallowed from items,biblioitems,itemtypes
where (items.itemnumber = '$itemno')
! and (items.biblioitemnumber = biblioitems.biblioitemnumber)
and (biblioitems.itemtype = itemtypes.itemtype)";
my $sth2 = $dbh->prepare($q2);
! $sth2->execute;
if (my $data2=$sth2->fetchrow_hashref) {
$renews = $data2->{'renewalsallowed'};
--- 35,123 ----
# FIXME - C4::Circulation::Main and C4::Circulation::Renewals
# use each other, so functions get redefined.
use C4::Search;
use C4::Scan;
use C4::Stats;
! use vars qw($VERSION @ISA @EXPORT);
!
# set the version for version checking
$VERSION = 0.01;
!
! =head1 NAME
!
! C4::Circulation::Renewals - Old Koha module dealing with renewals
!
! =head1 SYNOPSIS
!
! use C4::Circulation::Renewals;
!
! =head1 DESCRIPTION
!
! This module contains a function for checking whether a book may be
! renewed.
!
! =head1 FUNCTIONS
!
! =over 2
!
! =cut
!
@ISA = qw(Exporter);
@EXPORT = qw(&renewstatus &renewbook &bulkrenew);
+ =item renewstatus
+
+ $ok = &renewstatus($env, $dbh, $borrowernumber, $itemnumber);
+
+ Find out whether a borrowed item may be renewed.
+
+ C<$env> is ignored.
+
+ C<$dbh> is a DBI handle to the Koha database.
+
+ C<$borrowernumber> is the borrower number of the patron who currently
+ has the item on loan.
+
+ C<$itemnumber> is the number of the item to renew.
+
+ C<$renewstatus> returns a true value iff the item may be renewed. The
+ item must currently be on loan to the specified borrower; renewals
+ must be allowed for the item's type; and the borrower must not have
+ already renewed the loan.
+
+ =cut
+ #'
+ # FIXME - This is identical to &C4::Circulation::Circ2::renewstatus,
+ # and virtually identical to &C4::Circulation::Renewals2::renewstatus.
+ # Pick one and stick with it.
sub renewstatus {
# check renewal status
+ # FIXME - Two people can't borrow the same book at once, so
+ # presumably we can get $bornum from $itemno.
my ($env,$dbh,$bornum,$itemno)address@hidden;
! my $renews = 1; # FIXME - I think this is the maximum
! # number of allowed renewals.
! # FIXME - I think this function could be redone to use only one SQL
! # call.
my $renewokay = 0;
! # Look in the issues table for this item, lent to this borrower,
! # and not yet returned.
! my $q1 = "select * from issues
where (borrowernumber = '$bornum')
! and (itemnumber = '$itemno')
and returndate is null";
my $sth1 = $dbh->prepare($q1);
$sth1->execute;
+ # Found a matching item
if (my $data1 = $sth1->fetchrow_hashref) {
+ # See if this item may be renewed. This query is convoluted
+ # because it's a bit messy: given the item number, we need to find
+ # the biblioitem, which gives us the itemtype, which tells us
+ # whether it may be renewed.
my $q2 = "select renewalsallowed from items,biblioitems,itemtypes
where (items.itemnumber = '$itemno')
! and (items.biblioitemnumber = biblioitems.biblioitemnumber)
and (biblioitems.itemtype = itemtypes.itemtype)";
my $sth2 = $dbh->prepare($q2);
! $sth2->execute;
if (my $data2=$sth2->fetchrow_hashref) {
$renews = $data2->{'renewalsallowed'};
***************
*** 109,122 ****
}
$sth2->finish;
! }
$sth1->finish;
! return($renewokay);
}
!
sub renewbook {
# mark book as renewed
my ($env,$dbh,$bornum,$itemno,$datedue)address@hidden;
! if ($datedue eq "" ) {
my $loanlength=21;
my $query= "Select * from biblioitems,items,itemtypes
--- 127,146 ----
}
$sth2->finish;
! }
$sth1->finish;
! return($renewokay);
}
! # FIXME - A different version of this function appears in
! # C4::Circulation::Renewals2. Pick one and stick with it.
! # FIXME - This function doesn't appear to be used. Presumably it's
! # obsolete.
! # Otherwise, it needs a POD.
sub renewbook {
# mark book as renewed
+ # FIXME - Get $dbh from C4::Context->dbh, instead of requiring
+ # an additional argument.
my ($env,$dbh,$bornum,$itemno,$datedue)address@hidden;
! if ($datedue eq "" ) {
my $loanlength=21;
my $query= "Select * from biblioitems,items,itemtypes
***************
*** 144,153 ****
$sth->finish;
my $renews = $issuedata->{'renewals'} +1;
! my $updquery = "update issues
set date_due = '$datedue', renewals = '$renews'
where borrowernumber='$bornum' and
itemnumber='$itemno' and returndate is null";
my $sth=$dbh->prepare($updquery);
!
$sth->execute;
$sth->finish;
--- 168,177 ----
$sth->finish;
my $renews = $issuedata->{'renewals'} +1;
! my $updquery = "update issues
set date_due = '$datedue', renewals = '$renews'
where borrowernumber='$bornum' and
itemnumber='$itemno' and returndate is null";
my $sth=$dbh->prepare($updquery);
!
$sth->execute;
$sth->finish;
***************
*** 155,161 ****
}
sub bulkrenew {
my ($env,$dbh,$bornum,$amount,$borrower,$odues) = @_;
! my $query = "select * from issues
where borrowernumber = '$bornum' and returndate is null order by
date_due";
my $sth = $dbh->prepare($query);
--- 179,188 ----
}
+ # FIXME - Only used in C4:InterfaceCDK. Presumably this function is
+ # obsolete.
+ # Otherwise, it needs a POD.
sub bulkrenew {
my ($env,$dbh,$bornum,$amount,$borrower,$odues) = @_;
! my $query = "select * from issues
where borrowernumber = '$bornum' and returndate is null order by
date_due";
my $sth = $dbh->prepare($query);
***************
*** 176,190 ****
$dbh,$issrec->{'itemnumber'});
if ($resbor ne "") {
! $line = $line."R";
$rstatuses[$x] ="R";
} elsif ($renewstatus == 0) {
! $line = $line."N";
$rstatuses[$x] = "N";
} else {
! $line = $line."Y";
$rstatuses[$x] = "Y";
! }
$line = $line.fmtdec($env,$issrec->{'renewals'},"20")." ";
$line = $line.$itemdata->{'barcode'}." ".$itemdata->{'itemtype'}."
".$itemdata->{'title'};
$items[$x] = $line;
#debug_msg($env,$line);
--- 203,219 ----
$dbh,$issrec->{'itemnumber'});
if ($resbor ne "") {
! $line = $line."R"; # FIXME - .=
$rstatuses[$x] ="R";
} elsif ($renewstatus == 0) {
! $line = $line."N"; # FIXME - .=
$rstatuses[$x] = "N";
} else {
! $line = $line."Y"; # FIXME - .=
$rstatuses[$x] = "Y";
! }
$line = $line.fmtdec($env,$issrec->{'renewals'},"20")." ";
+ # FIXME - .=
$line = $line.$itemdata->{'barcode'}." ".$itemdata->{'itemtype'}."
".$itemdata->{'title'};
+ # FIXME - .=
$items[$x] = $line;
#debug_msg($env,$line);
***************
*** 197,204 ****
$renewdef[$x] = $rdef;
$x++;
! }
! if ($x < 1) {
return;
! }
my $renews = C4::Interface::RenewalsCDK::renew_window($env,
address@hidden,$borrower,$amount,$odues);
--- 226,233 ----
$renewdef[$x] = $rdef;
$x++;
! }
! if ($x < 1) {
return;
! }
my $renews = C4::Interface::RenewalsCDK::renew_window($env,
address@hidden,$borrower,$amount,$odues);
***************
*** 221,233 ****
} elsif ($rstatuses[$x] eq "N") {
C4::InterfaceCDK::info_msg($env,
! "</S>$barcodes[$x] - can't renew");
} else {
C4::InterfaceCDK::info_msg($env,
"</S>$barcodes[$x] - on reserve");
}
! }
$x++;
}
$sth->finish();
}
! END { } # module clean-up code here (global destructor)
--- 250,272 ----
} elsif ($rstatuses[$x] eq "N") {
C4::InterfaceCDK::info_msg($env,
! "</S>$barcodes[$x] - can't renew");
} else {
C4::InterfaceCDK::info_msg($env,
"</S>$barcodes[$x] - on reserve");
}
! }
$x++;
}
$sth->finish();
}
!
! 1;
! __END__
!
! =back
!
! =head1 AUTHOR
!
! Koha Developement team <address@hidden>
!
! =cut
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Koha-cvs] CVS: koha/C4/Circulation Renewals.pm,1.3,1.4,
Andrew Arensburger <=