[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