[Koha-cvs] koha pay.pl [dev_week]
Kyle Hall
kyle.m.hall at gmail.com
Thu Mar 22 15:59:16 CET 2007
CVSROOT: /sources/koha
Module name: koha
Branch: dev_week
Changes by: Kyle Hall <kylemhall> 07/03/22 14:59:16
Modified files:
. : pay.pl
Log message:
Updated so Pay By Amount works without browser asking to save pay.pl
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/koha/pay.pl?cvsroot=koha&only_with_tag=dev_week&r1=1.9.2.5.2.1&r2=1.9.2.5.2.2
Patches:
Index: pay.pl
===================================================================
RCS file: /sources/koha/koha/Attic/pay.pl,v
retrieving revision 1.9.2.5.2.1
retrieving revision 1.9.2.5.2.2
diff -u -b -r1.9.2.5.2.1 -r1.9.2.5.2.2
--- pay.pl 9 Feb 2007 17:16:50 -0000 1.9.2.5.2.1
+++ pay.pl 22 Mar 2007 14:59:16 -0000 1.9.2.5.2.2
@@ -2,12 +2,11 @@
# WARNING: Not enough context to figure out the correct tabstop size
# WARNING: Assume that this file uses 4-character tabs
-# $Id: pay.pl,v 1.9.2.5.2.1 2007/02/09 17:16:50 kylemhall Exp $
+# $Id: pay.pl,v 1.9.2.5.2.2 2007/03/22 14:59:16 kylemhall Exp $
#written 11/1/2000 by chris at katipo.oc.nz
#part of the koha library system, script to facilitate paying off fines
-
# Copyright 2000-2002 Katipo Communications
#
# This file is part of Koha.
@@ -35,153 +34,186 @@
use C4::Stats;
use HTML::Template;
-my $input=new CGI;
+my $input = new CGI;
#print $input->header;
-my $bornum=$input->param('bornum');
-if ($bornum eq ''){
- $bornum=$input->param('bornum0');
+my $bornum = $input->param('bornum');
+if ( $bornum eq '' ) {
+ $bornum = $input->param('bornum0');
}
+
#get borrower details
-my $data=borrdata('',$bornum);
-my $user=$input->remote_user;
+my $data = borrdata( '', $bornum );
+my $user = $input->remote_user;
-my($template, $loggedinuser, $cookie)
- = get_template_and_user ({ template_name => "members/pay.tmpl",
+my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
+ {
+ template_name => "members/pay.tmpl",
query => $input,
type => "intranet",
authnotrequired => 0,
- flagsrequired => {borrowers => 1},
+ flagsrequired => { borrowers => 1 },
debug => 1,
- });
+ }
+);
#get account details
my %bor;
-$bor{'borrowernumber'}=$bornum;
+$bor{'borrowernumber'} = $bornum;
-
-my @names=$input->param;
+my @names = $input->param;
my %inp;
-my $check=0;
-for (my $i=0;$i<@names;$i++){
- my $temp=$input->param($names[$i]);
- if ($temp eq 'wo'){
- $inp{$names[$i]}=$temp;
- $check=1;
- }
- if ($temp eq 'yes'){
- $user=~ s/Levin/C/i;
- $user=~ s/Foxton/F/i;
- $user=~ s/Shannon/S/i;
+my $check = 0;
+for ( my $i = 0 ; $i < @names ; $i++ ) {
+ my $temp = $input->param( $names[$i] );
+ if ( $temp eq 'wo' ) {
+ $inp{ $names[$i] } = $temp;
+ $check = 1;
+ }
+
+ if ( $temp eq 'yes' ) {
+
+ #FIXME : I think the folowing 3 lines can be removed.
+ $user =~ s/Levin/C/i;
+ $user =~ s/Foxton/F/i;
+ $user =~ s/Shannon/S/i;
+
# FIXME : using array +4, +5, +6 is dirty. Should use arrays for each accountline
- my $amount=$input->param($names[$i+4]);
- my $bornum=$input->param($names[$i+5]);
- my $accountno=$input->param($names[$i+6]);
- makepayment($bornum,$accountno,$amount,$user,C4::Context->userenv->{branch});
- $check=2;
+ my $amount = $input->param( $names[ $i + 4 ] );
+ my $bornum = $input->param( $names[ $i + 5 ] );
+ my $accountno = $input->param( $names[ $i + 6 ] );
+ makepayment( $bornum, $accountno, $amount, $user,
+ C4::Context->userenv->{branch} );
+ $check = 2;
}
}
+
my %env;
- $user=~ s/Levin/C/i;
- $user=~ s/Foxton/F/i;
- $user=~ s/Shannon/S/i;
-
-$env{'branchcode'}=$user;
-my $total=$input->param('total');
-if ($check ==0){
- if ($total ne ''){
- recordpayment(\%env,$bornum,$total);
+
+#FIXME : Once again, I think the following 3 lines can be removed.
+$user =~ s/Levin/C/i;
+$user =~ s/Foxton/F/i;
+$user =~ s/Shannon/S/i;
+
+$env{'branchcode'} = $user;
+
+my $total = $input->param('total');
+
+if ( $check == 0 ) {
+ if ( $total ne '' ) {
+ recordpayment( \%env, $bornum, $total );
+ $bornum = $input->param('bornum');
+ print $input->redirect("/cgi-bin/koha/pay.pl?bornum=$bornum");
+
}
- my ($numaccts,$accts,$total)=getboracctrecord('',\%bor);
+ my ( $numaccts, $accts, $total ) = getboracctrecord( '', \%bor );
my @loop_pay;
- for (my $i=0;$i<$numaccts;$i++){
- if ($accts->[$i]{'amountoutstanding'} > 0){
- $accts->[$i]{'amount'}+=0.00;
- $accts->[$i]{'amountoutstanding'}+=0.00;
+ for ( my $i = 0 ; $i < $numaccts ; $i++ ) {
+ if ( $accts->[$i]{'amountoutstanding'} > 0 ) {
+ $accts->[$i]{'amount'} += 0.00;
+ $accts->[$i]{'amountoutstanding'} += 0.00;
my %line;
- $line{i}=$i;
+ $line{i} = $i;
$line{itemnumber} = $accts->[$i]{'itemnumber'};
$line{accounttype} = $accts->[$i]{'accounttype'};
- $line{amount} = sprintf("%.2f",$accts->[$i]{'amount'});
- $line{amountoutstanding} = sprintf("%.2f",$accts->[$i]{'amountoutstanding'});
+ $line{amount} = sprintf( "%.2f", $accts->[$i]{'amount'} );
+ $line{amountoutstanding} =
+ sprintf( "%.2f", $accts->[$i]{'amountoutstanding'} );
$line{bornum} = $bornum;
$line{accountno} = $accts->[$i]{'accountno'};
$line{description} = $accts->[$i]{'description'};
$line{title} = $accts->[$i]{'title'};
- push(@loop_pay, \%line);
+ push( @loop_pay, \%line );
}
}
- $template->param(firstname => $data->{'firstname'},
+
+ $template->param(
+ firstname => $data->{'firstname'},
surname => $data->{'surname'},
bornum => $bornum,
loop_pay => \@loop_pay,
- total => sprintf("%.2f",$total),
- intranetcolorstylesheet => C4::Context->preference("intranetcolorstylesheet"),
+ total => sprintf( "%.2f", $total ),
+ intranetcolorstylesheet =>
+ C4::Context->preference("intranetcolorstylesheet"),
intranetstylesheet => C4::Context->preference("intranetstylesheet"),
IntranetNav => C4::Context->preference("IntranetNav"),
);
print "Content-Type: text/html\n\n", $template->output;
-} else {
-# my $quety=$input->query_string;
-# print $input->redirect("/cgi-bin/koha/sec/writeoff.pl?$quety");
- my%inp;
- my @name=$input->param;
- for (my $i=0;$i<@name;$i++){
- my $test=$input->param($name[$i]);
- if ($test eq 'wo'){
- my $temp=$name[$i];
- $temp=~ s/payfine//;
- $inp{$name[$i]}=$temp;
+}
+else {
+
+ # my $quety=$input->query_string;
+ # print $input->redirect("/cgi-bin/koha/sec/writeoff.pl?$quety");
+ my %inp;
+ my @name = $input->param;
+ for ( my $i = 0 ; $i < @name ; $i++ ) {
+ my $test = $input->param( $name[$i] );
+ if ( $test eq 'wo' ) {
+ my $temp = $name[$i];
+ $temp =~ s/payfine//;
+ $inp{ $name[$i] } = $temp;
}
}
my $bornum;
- while ( my ($key, $value) = each %inp){
+ while ( my ( $key, $value ) = each %inp ) {
+
# print $key,$value;
- my $accounttype=$input->param("accounttype$value");
- $bornum=$input->param("bornum$value");
- my $itemno=$input->param("itemnumber$value");
- my $amount=$input->param("amount$value");
- if ($accounttype eq 'Res'){
- my $accountno=$input->param("accountno$value");
- writeoff($bornum,$accountno,$itemno,$accounttype,$amount);
- } else {
- writeoff($bornum,'',$itemno,$accounttype,$amount);
+ my $accounttype = $input->param("accounttype$value");
+ $bornum = $input->param("bornum$value");
+ my $itemno = $input->param("itemnumber$value");
+ my $amount = $input->param("amount$value");
+ if ( $accounttype eq 'Res' ) {
+ my $accountno = $input->param("accountno$value");
+ writeoff( $bornum, $accountno, $itemno, $accounttype, $amount );
+ }
+ else {
+ writeoff( $bornum, '', $itemno, $accounttype, $amount );
}
}
- $bornum=$input->param('bornum');
- print $input->redirect("/cgi-bin/koha/members/moremember.pl?bornum=$bornum");
+ $bornum = $input->param('bornum');
+ print $input->redirect(
+ "/cgi-bin/koha/members/moremember.pl?bornum=$bornum");
}
-
-sub writeoff{
- my ($bornum,$accountnum,$itemnum,$accounttype,$amount)=@_;
- my $user=$input->remote_user;
- $user=~ s/Levin/C/;
- $user=~ s/Foxton/F/;
- $user=~ s/Shannon/S/;
+sub writeoff {
+ my ( $bornum, $accountnum, $itemnum, $accounttype, $amount ) = @_;
+ my $user = $input->remote_user;
+ $user =~ s/Levin/C/;
+ $user =~ s/Foxton/F/;
+ $user =~ s/Shannon/S/;
my $dbh = C4::Context->dbh;
my $env;
my $sth;
- if ($accounttype eq 'Res'){
- $sth=$dbh->prepare("Update accountlines set amountoutstanding=0 where accounttype='Res' and accountno=? and borrowernumber=?");
- $sth->execute($accountnum,$bornum);
- } else {
- $sth=$dbh->prepare("Update accountlines set amountoutstanding=0 where accounttype=? and itemnumber=? and borrowernumber=?");
- $sth->execute($accounttype,$itemnum,$bornum);
+
+ if ( $accounttype eq 'Res' ) {
+ $sth =
+ $dbh->prepare(
+"Update accountlines set amountoutstanding=0 where accounttype='Res' and accountno=? and borrowernumber=?"
+ );
+ $sth->execute( $accountnum, $bornum );
+ }
+ else {
+ $sth =
+ $dbh->prepare(
+"Update accountlines set amountoutstanding=0 where accounttype=? and itemnumber=? and borrowernumber=?"
+ );
+ $sth->execute( $accounttype, $itemnum, $bornum );
}
$sth->finish;
- $sth=$dbh->prepare("select max(accountno) from accountlines");
+ $sth = $dbh->prepare("select max(accountno) from accountlines");
$sth->execute;
- my $account=$sth->fetchrow_hashref;
+ my $account = $sth->fetchrow_hashref;
$sth->finish;
$account->{'max(accountno)'}++;
- $sth=$dbh->prepare("insert into accountlines (borrowernumber,accountno,itemnumber,date,amount,description,accounttype)
- values (?,?,?,now(),?,'Writeoff','W')");
- $sth->execute($bornum,$account->{'max(accountno)'},$itemnum,$amount);
+ $sth = $dbh->prepare(
+"insert into accountlines (borrowernumber,accountno,itemnumber,date,amount,description,accounttype)
+ values (?,?,?,now(),?,'Writeoff','W')"
+ );
+ $sth->execute( $bornum, $account->{'max(accountno)'}, $itemnum, $amount );
$sth->finish;
- UpdateStats($env,$user,'writeoff',$amount,'','','',$bornum);
+ UpdateStats( $env, $user, 'writeoff', $amount, '', '', '', $bornum );
}
# Local Variables:
More information about the Koha-cvs
mailing list