From rangi@users.sourceforge.net Tue Mar 26 16:02:45 2002 From: Chris Cormack To: koha-devel@lists.koha-community.org Subject: [Koha-devel] CVS: koha pay.pl,1.2,1.3 Date: Tue, 26 Mar 2002 16:03:07 +0000 Message-ID: MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============6382369004359589813==" --===============6382369004359589813== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Update of /cvsroot/koha/koha In directory usw-pr-cvs1:/tmp/cvs-serv8133 Modified Files: pay.pl=20 Log Message: Shifting writeoff code back into pay.pl (redirecting to writeoff.pl was breaking when the borrower owes a lot of fines) Index: pay.pl =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/koha/koha/pay.pl,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -r1.2 -r1.3 *** pay.pl 2 Apr 2001 22:51:26 -0000 1.2 --- pay.pl 27 Mar 2002 00:02:40 -0000 1.3 *************** *** 9,15 **** use C4::Search; use C4::Accounts2; - my $input=3Dnew CGI; =20 =20 my $bornum=3D$input->param('bornum'); if ($bornum eq ''){ --- 9,18 ---- use C4::Search; use C4::Accounts2; =20 + use C4::Database; + use C4::Stats; + my $input=3Dnew CGI; =20 + #print $input->header; my $bornum=3D$input->param('bornum'); if ($bornum eq ''){ *************** *** 53,140 **** my $total=3D$input->param('total'); if ($check =3D=3D0){ if ($total ne ''){ recordpayment(\%env,$bornum,$total); } ! my ($numaccts,$accts,$total)=3Dgetboracctrecord('',\%bor); =20 ! print $input->header; ! print startpage(); ! print startmenu('member'); ! print <Pay Fines for $data->{'firstname'} $data->{'surname'}

!

!

! ! ! ! ! ! ! printend ; ! for (my $i=3D0;$i<$numaccts;$i++){ ! if ($accts->[$i]{'amountoutstanding'} > 0){ ! $accts->[$i]{'amount'}+=3D0.00; ! $accts->[$i]{'amountoutstanding'}+=3D0.00; ! print < ! ! ! ! ! =20 ! printend ; ! } ! } ! print < ! ! !=20 ! !=20 ! !=20 !=20 !=20 ! ! ! ! ! ! ! ! ! !
FINES & CHARGESAMOUNT OWING
Unpaid ! Pay ! Writeoff ! [$i]{'itemnumber'}> ! [$i]{'accounttype= '}> ! [$i]{'amount'}> ! [$i]{'amountoutstanding'}> ! ! [$i]{'accountno'}> ! $accts->[$i]{'description'} $accts->[$i]{'title'}$accts->[$i]{'accounttype'}$accts->[$i]{'amount'}$accts->[$i]{'amountoutstanding'}
Total Due$total
AMOUNT PAID
!
!=20 !=20 !=20 !=20 !=20 !=20 !
!

 

=20 printend ; ! print endmenu('member'); ! print endpage(); =20 } else { ! my $quety=3D$input->query_string; ! print $input->redirect("/cgi-bin/koha/sec/writeoff.pl?$quety"); } --- 56,189 ---- my $total=3D$input->param('total'); if ($check =3D=3D0){ + print $input->header; if ($total ne ''){ recordpayment(\%env,$bornum,$total); } ! my ($numaccts,$accts,$total)=3Dgetboracctrecord('',\%bor); =20 !=20 ! print startpage(); ! print startmenu('member'); ! print <Pay Fines for $data->{'firstname'} $data->{'surname'}<= /em>

!

!

! ! ! ! ! ! ! printend ; ! for (my $i=3D0;$i<$numaccts;$i++){ ! if ($accts->[$i]{'amountoutstanding'} > 0){ ! $accts->[$i]{'amount'}+=3D0.00; ! $accts->[$i]{'amountoutstanding'}+=3D0.00; ! print < ! ! ! ! ! =20 ! printend ; ! } ! } ! print < ! ! ! ! ! ! ! ! !
FINES & CHARGESAMOUNT OWING
Unpaid ! Pay ! Writeoff ! [$i]{'itemnu= mber'}> ! [$i]{'accou= nttype'}> ! [$i]{'amount'}> ! [$i]{'amountoutstan= ding'}> ! ! [$i]{'account= no'}> ! $accts->[$i]{'description'} $accts->[$i]{'title'}$accts->[$i]{'accounttype'}$accts->[$i]{'amount'}$accts->[$i]{'amountoutstanding'}
Total Due$total
!
!
!

 

=20 printend ; ! print endmenu('member'); ! print endpage(); =20 } else { ! # my $quety=3D$input->query_string; ! # print $input->redirect("/cgi-bin/koha/sec/writeoff.pl?$quety"); ! my%inp; =20 ! my @name=3D$input->param; ! for (my $i=3D0;$i<@name;$i++){ ! my $test=3D$input->param($name[$i]); ! if ($test eq 'wo'){ ! my $temp=3D$name[$i]; ! $temp=3D~ s/payfine//; ! $inp{$name[$i]}=3D$temp; ! } ! } ! my $bornum; ! while ( my ($key, $value) =3D each %inp){ ! # print $key,$value; ! my $accounttype=3D$input->param("accounttype$value"); ! $bornum=3D$input->param("bornum$value"); ! my $itemno=3D$input->param("itemnumber$value"); ! my $amount=3D$input->param("amount$value"); ! if ($accounttype eq 'Res'){ ! my $accountno=3D$input->param("accountno$value"); ! writeoff($bornum,$accountno,$itemno,$accounttype,$amount); ! } else { ! writeoff($bornum,'',$itemno,$accounttype,$amount); ! } ! } ! $bornum=3D$input->param('bornum'); ! print $input->redirect("/cgi-bin/koha/pay.pl?bornum=3D$bornum"); ! } !=20 !=20 ! sub writeoff{ ! my ($bornum,$accountnum,$itemnum,$accounttype,$amount)=3D@_; ! my $user=3D$input->remote_user; ! $user=3D~ s/Levin/C/; ! $user=3D~ s/Foxton/F/; ! $user=3D~ s/Shannon/S/; ! my $dbh=3DC4Connect; ! my $env; ! my $query=3D"Update accountlines set amountoutstanding=3D0 where "; ! if ($accounttype eq 'Res'){ ! $query.=3D"accounttype=3D'Res' and accountno=3D'$accountnum' and borrowern= umber=3D'$bornum'"; ! } else { ! $query.=3D"accounttype=3D'$accounttype' and itemnumber=3D'$itemnum' and bo= rrowernumber=3D'$bornum'"; ! } ! my $sth=3D$dbh->prepare($query); ! # print $query; ! $sth->execute; ! $sth->finish; ! $query=3D"select max(accountno) from accountlines"; ! $sth=3D$dbh->prepare($query); ! $sth->execute; ! my $account=3D$sth->fetchrow_hashref; ! $sth->finish; ! $account->{'max(accountno)'}++; ! $query=3D"insert into accountlines (borrowernumber,accountno,itemnumber= ,date,amount,description,accounttype) ! values ('$bornum','$account->{'max(accountno)'}','$itemnum',now(),'$amo= unt','Writeoff','W')"; ! $sth=3D$dbh->prepare($query); ! $sth->execute; ! $sth->finish; ! # print $query; ! $dbh->disconnect; ! UpdateStats($env,$user,'writeoff',$amount,'','','',$bornum); } --===============6382369004359589813==--