use C4::Stats;
use C4::Members;
use C4::Items;
+use C4::Circulation;
-#use C4::Circulation;
use vars qw($VERSION @ISA @EXPORT);
BEGIN {
# set the version for version checking
- $VERSION = 3.02;
+ $VERSION = 3.03;
require Exporter;
@ISA = qw(Exporter);
@EXPORT = qw(
- &recordpayment &fixaccounts &makepayment &manualinvoice
+ &recordpayment &makepayment &manualinvoice
&getnextacctno &reconcileaccount &getcharges &getcredits
&getrefunds
- );
+ ); # removed &fixaccounts
}
=head1 NAME
#'
# FIXME - Okay, so what does the above actually _mean_?
-sub getnextacctno {
- my ($borrowernumber) = @_;
- my $nextaccntno = 1;
- my $dbh = C4::Context->dbh;
- my $sth = $dbh->prepare(
- "SELECT * FROM accountlines
- WHERE (borrowernumber = ?)
- ORDER BY accountno DESC"
+sub getnextacctno ($) {
+ my ($borrowernumber) = shift or return undef;
+ my $sth = C4::Context->dbh->prepare(
+ "SELECT accountno+1 FROM accountlines
+ WHERE (borrowernumber = ?)
+ ORDER BY accountno DESC
+ LIMIT 1"
);
$sth->execute($borrowernumber);
- if ( my $accdata = $sth->fetchrow_hashref ) {
- $nextaccntno = $accdata->{'accountno'} + 1;
- }
- $sth->finish;
- return ($nextaccntno);
+ return ($sth->fetchrow || 1);
}
-=head2 fixaccounts
+=head2 fixaccounts (removed)
&fixaccounts($borrowernumber, $accountnumber, $amount);
-=cut
-
#'
# FIXME - I don't understand what this function does.
sub fixaccounts {
WHERE borrowernumber = $borrowernumber
AND accountno = $accountno
EOT
+ # FIXME: exceedingly bad form. Use prepare with placholders ("?") in query and execute args.
}
-# FIXME - Never used, but not exported, either.
+=cut
+
sub returnlost {
my ( $borrowernumber, $itemnum ) = @_;
- my $dbh = C4::Context->dbh;
+ C4::Circulation::MarkIssueReturned( $borrowernumber, $itemnum );
my $borrower = C4::Members::GetMember( $borrowernumber, 'borrowernumber' );
- my $sth = $dbh->prepare(
- "UPDATE issues SET returndate=now() WHERE
- borrowernumber=? AND itemnumber=? AND returndate IS NULL"
- );
- $sth->execute( $borrowernumber, $itemnum );
- $sth->finish;
my @datearr = localtime(time);
- my $date =
- ( 1900 + $datearr[5] ) . "-" . ( $datearr[4] + 1 ) . "-" . $datearr[3];
- my $bor =
-"$borrower->{'firstname'} $borrower->{'surname'} $borrower->{'cardnumber'}";
+ my $date = ( 1900 + $datearr[5] ) . "-" . ( $datearr[4] + 1 ) . "-" . $datearr[3];
+ my $bor = "$borrower->{'firstname'} $borrower->{'surname'} $borrower->{'cardnumber'}";
ModItem({ paidfor => "Paid for by $bor $date" }, undef, $itemnum);
}
fixcredit( $borrowernumber, $amount2, $itemnum, $type, $user );
}
if ( $type eq 'N' ) {
- $desc .= "New Card";
+ $desc .= " New Card";
}
if ( $type eq 'F' ) {
- $desc .= "Fine";
+ $desc .= " Fine";
}
if ( $type eq 'A' ) {
- $desc .= "Account Management fee";
+ $desc .= " Account Management fee";
}
if ( $type eq 'M' ) {
- $desc .= "Sundry";
+ $desc .= " Sundry";
}
if ( $type eq 'L' && $desc eq '' ) {
- $desc = "Lost Item";
+ $desc = " Lost Item";
}
if ( $type eq 'REF' ) {
- $desc .= "Cash Refund";
+ $desc .= " Cash Refund";
$amountleft = refund( '', $borrowernumber, $amount );
}
if ( ( $type eq 'L' )