circulation cleaning continued: bufixing
[koha.git] / members / boraccount.pl
1 #!/usr/bin/perl
2
3 # $Id$
4
5 #writen 11/1/2000 by chris@katipo.oc.nz
6 #script to display borrowers account details
7
8
9 # Copyright 2000-2002 Katipo Communications
10 #
11 # This file is part of Koha.
12 #
13 # Koha is free software; you can redistribute it and/or modify it under the
14 # terms of the GNU General Public License as published by the Free Software
15 # Foundation; either version 2 of the License, or (at your option) any later
16 # version.
17 #
18 # Koha is distributed in the hope that it will be useful, but WITHOUT ANY
19 # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
20 # A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
21 #
22 # You should have received a copy of the GNU General Public License along with
23 # Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
24 # Suite 330, Boston, MA  02111-1307 USA
25
26 use strict;
27 use C4::Auth;
28 use C4::Output;
29 use C4::Interface::CGI::Output;
30 use C4::Date;
31 use CGI;
32 use C4::Members;
33
34
35 my $input=new CGI;
36
37 my $theme = $input->param('theme'); # only used if allowthemeoverride is set
38 #my %tmpldata = pathtotemplate ( template => 'boraccount.tmpl', theme => $theme );
39 #my $template = HTML::Template->new(filename => $tmpldata{'path'}, die_on_bad_params => 0);
40 my ($template, $loggedinuser, $cookie)
41     = get_template_and_user({template_name => "members/boraccount.tmpl",
42                              query => $input,
43                              type => "intranet",
44                              authnotrequired => 0,
45                              flagsrequired => {borrowers => 1},
46                              debug => 1,
47                              });
48
49 my $borrowernumber=$input->param('borrowernumber');
50 #get borrower details
51 my $data=borrdata('',$borrowernumber);
52
53 #get account details
54 my %bor;
55 $bor{'borrowernumber'}=$borrowernumber;
56 my ($numaccts,$accts,$total)=getboracctrecord('',\%bor);
57 my $totalcredit;
58 if($total <= 0){
59         $totalcredit = 1;
60 }
61 my @accountrows; # this is for the tmpl-loop
62
63 my $toggle;
64 for (my $i=0;$i<$numaccts;$i++){
65         if($i%2){
66                 $toggle = 0;
67         } else {
68                 $toggle = 1;
69         }
70   $accts->[$i]{'toggle'} = $toggle;
71   $accts->[$i]{'amount'}+=0.00;
72   if($accts->[$i]{'amount'} <= 0){
73         $accts->[$i]{'amountcredit'} = 1;
74   }
75   $accts->[$i]{'amountoutstanding'}+=0.00;
76   if($accts->[$i]{'amountoutstanding'} <= 0){
77         $accts->[$i]{'amountoutstandingcredit'} = 1;
78   }
79   my %row = (   'date'              => format_date($accts->[$i]{'date'}),
80                 'amountcredit' => $accts->[$i]{'amountcredit'},
81                 'amountoutstandingcredit' => $accts->[$i]{'amountoutstandingcredit'},
82                 'toggle' => $accts->[$i]{'toggle'},
83                 'description'       => $accts->[$i]{'description'},
84                 'amount'            => sprintf("%.2f",$accts->[$i]{'amount'}),
85                 'amountoutstanding' => sprintf("%.2f",$accts->[$i]{'amountoutstanding'}) );
86
87   if ($accts->[$i]{'accounttype'} ne 'F' && $accts->[$i]{'accounttype'} ne 'FU'){
88     $row{'printtitle'}=1;
89     $row{'title'} = $accts->[$i]{'title'};
90   }
91
92   push(@accountrows, \%row);
93 }
94
95 $template->param(
96                         firstname       => $data->{'firstname'},
97                         surname         => $data->{'surname'},
98                         borrowernumber          => $borrowernumber,
99                         total           => sprintf("%.2f",$total),
100                         totalcredit => $totalcredit,
101                         accounts        => \@accountrows );
102
103 output_html_with_http_headers $input, $cookie, $template->output;