T1 --- .../prog/en/modules/members/boraccount.tmpl | 10 ++- .../prog/en/modules/members/fee-receipt.tmpl | 45 ++++++ members/printfeercpt.pl | 142 ++++++++++++++++++++ 3 files changed, 196 insertions(+), 1 deletions(-) create mode 100644 koha-tmpl/intranet-tmpl/prog/en/modules/members/fee-receipt.tmpl create mode 100755 members/printfeercpt.pl
diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/members/boraccount.tmpl b/koha-tmpl/intranet-tmpl/prog/en/modules/members/boraccount.tmpl index fce5a4d..2938e47 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/members/boraccount.tmpl +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/members/boraccount.tmpl @@ -35,6 +35,7 @@ <!-- TMPL_IF NAME="reverse_col" --> <th> </th> <!-- /TMPL_IF --> + <th>Print</th> </tr> <!-- FIXME: Shouldn't hardcode dollar signs, since Euro or Pound might be needed --> @@ -54,12 +55,19 @@ <!-- /TMPL_IF --> </td> <!-- /TMPL_IF --> +<td> + <!-- TMPL_IF NAME="payment" --> + <a target="_blank" href="printfeercpt.pl?action=print&borrowernumber=<!-- TMPL_VAR NAME="borrowernumber" -->&accountno=<!-- TMPL_VAR NAME="accountno" -->">Print</a> + <!-- TMPL_ELSE --> + + <!-- /TMPL_IF --> + </td> </tr> <!-- /TMPL_LOOP --> <tfoot> <tr> - <td colspan="3">Total due</td> + <td colspan="4">Total due</td> <!-- TMPL_IF NAME="totalcredit" --><td colspan="2" class="credit"><!-- TMPL_ELSE --><td colspan="2" class="debit"><!-- /TMPL_IF --><!-- TMPL_VAR NAME="total" --></td> </tr> </tfoot> diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/members/fee-receipt.tmpl b/koha-tmpl/intranet-tmpl/prog/en/modules/members/fee-receipt.tmpl new file mode 100644 index 0000000..7dbad00 --- /dev/null +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/members/fee-receipt.tmpl @@ -0,0 +1,45 @@ +<!-- TMPL_INCLUDE NAME="doc-head-open.inc" --> +<title>Print Receipt for <!-- TMPL_VAR NAME="cardnumber" --></title> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> +<link rel="shortcut icon" href="<!-- TMPL_VAR NAME="themelang" -->/includes/favicon.ico" type="image/x-icon" /> +<link rel="stylesheet" type="text/css" href="<!-- TMPL_VAR NAME="themelang" -->/css/print.css" /> +<script language="javascript"> + window.print(); + window.close(); +</script> +</head> +<body> + +<div id="receipt"> + +<h3><!-- TMPL_VAR name="LibraryName" --></h3> +<h2> Fee Receipt</h2> +<!-- TMPL_IF NAME="branchname" --><h2><!-- TMPL_VAR NAME="branchname" --></h2><!-- /TMPL_IF --> +Received with thanks from <!-- TMPL_VAR NAME="firstname"> <!-- TMPL_VAR NAME="surname"> <br /> +Card Number : <!-- TMPL_VAR NAME="cardnumber" --><br /> + +<!-- The table with the account items --> +<table border="1"> + <tr> + <th>Date</th> + <th>Description of charges</th> + <th>Amount</th> + </tr> + + <!-- TMPL_LOOP NAME="accounts" --> +<tr class="highlight"> + <td><!-- TMPL_VAR NAME="date" --></td> + <td><!-- TMPL_VAR NAME="description" --></td> + <!-- TMPL_IF NAME="amountcredit" --><td class="credit"><!-- TMPL_ELSE --><td class="debit"><!-- /TMPL_IF --><!-- TMPL_VAR NAME="amount" --></td> + </tr> + + <!-- /TMPL_LOOP --> +<tfoot> + <tr> + <td colspan="2">Total outstanding dues as on date : </td> + <!-- TMPL_IF NAME="totalcredit" --><td class="credit"><!-- TMPL_ELSE --><td class="debit"><!-- /TMPL_IF --><!-- TMPL_VAR NAME="total" --></td> + </tr> + </tfoot> +</table> +</div> +<!-- TMPL_INCLUDE NAME="intranet-bottom.inc" --> diff --git a/members/printfeercpt.pl b/members/printfeercpt.pl new file mode 100755 index 0000000..1bc8b15 --- /dev/null +++ b/members/printfeercpt.pl @@ -0,0 +1,142 @@ +#!/usr/bin/perl + + +#writen 3rd May 2010 by kmk...@anantcorp.com adapted from boraccount.pl by ch...@katipo.oc.nz +#script to print fee receipts + + +# Copyright Koustubha Kale +# +# This file is part of Koha. +# +# Koha is free software; you can redistribute it and/or modify it under the +# terms of the GNU General Public License as published by the Free Software +# Foundation; either version 2 of the License, or (at your option) any later +# version. +# +# Koha is distributed in the hope that it will be useful, but WITHOUT ANY +# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR +# A PARTICULAR PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with Koha; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +use strict; +use warnings; + +use C4::Auth; +use C4::Output; +use C4::Dates qw/format_date/; +use CGI; +use C4::Members; +use C4::Branch; +use C4::Accounts; + +my $input=new CGI; + + +my ($template, $loggedinuser, $cookie) + = get_template_and_user({template_name => "members/fee-receipt.tmpl", + query => $input, + type => "intranet", + authnotrequired => 0, + flagsrequired => {borrowers => 1, updatecharges => 1}, + debug => 1, + }); + +my $borrowernumber=$input->param('borrowernumber'); +my $action = $input->param('action') || ''; +my $accountno = $input->param('accountno'); + +#get borrower details +my $data=GetMember('borrowernumber' => $borrowernumber); + +if ( $action eq 'print' ) { +# ReversePayment( $borrowernumber, $input->param('accountno') ); +} + +if ( $data->{'category_type'} eq 'C') { + my ( $catcodes, $labels ) = GetborCatFromCatType( 'A', 'WHERE category_type = ?' ); + my $cnt = scalar(@$catcodes); + $template->param( 'CATCODE_MULTI' => 1) if $cnt > 1; + $template->param( 'catcode' => $catcodes->[0]) if $cnt == 1; +} + +#get account details +my ($total,$accts,$numaccts)=GetMemberAccountRecords($borrowernumber); +my $totalcredit; +if($total <= 0){ + $totalcredit = 1; +} +my @accountrows; # this is for the tmpl-loop + +my $toggle; +for (my $i=0;$i<$numaccts;$i++){ + next if ($accts->[$i]{'accountno'} ne $accountno); + if($i%2){ + $toggle = 0; + } else { + $toggle = 1; + } + $accts->[$i]{'toggle'} = $toggle; + $accts->[$i]{'amount'}+=0.00; + if($accts->[$i]{'amount'} <= 0){ + $accts->[$i]{'amountcredit'} = 1; + } + $accts->[$i]{'amountoutstanding'}+=0.00; + if($accts->[$i]{'amountoutstanding'} <= 0){ + $accts->[$i]{'amountoutstandingcredit'} = 1; + } + my %row = ( 'date' => format_date($accts->[$i]{'date'}), + 'amountcredit' => $accts->[$i]{'amountcredit'}, + 'amountoutstandingcredit' => $accts->[$i]{'amountoutstandingcredit'}, + 'toggle' => $accts->[$i]{'toggle'}, + 'description' => $accts->[$i]{'description'}, + 'itemnumber' => $accts->[$i]{'itemnumber'}, + 'biblionumber' => $accts->[$i]{'biblionumber'}, + 'amount' => sprintf("%.2f",$accts->[$i]{'amount'}), + 'amountoutstanding' => sprintf("%.2f",$accts->[$i]{'amountoutstanding'}), + 'accountno' => $accts->[$i]{'accountno'}, + 'payment' => ( $accts->[$i]{'accounttype'} eq 'Pay' ), + + ); + + if ($accts->[$i]{'accounttype'} ne 'F' && $accts->[$i]{'accounttype'} ne 'FU'){ + $row{'printtitle'}=1; + $row{'title'} = $accts->[$i]{'title'}; + } + + push(@accountrows, \%row); +} + +$template->param( adultborrower => 1 ) if ( $data->{'category_type'} eq 'A' ); + +my ($picture, $dberror) = GetPatronImage($data->{'cardnumber'}); +$template->param( picture => 1 ) if $picture; + +$template->param( + finesview => 1, + firstname => $data->{'firstname'}, + surname => $data->{'surname'}, + borrowernumber => $borrowernumber, + cardnumber => $data->{'cardnumber'}, + categorycode => $data->{'categorycode'}, + category_type => $data->{'category_type'}, + # category_description => $data->{'description'}, + categoryname => $data->{'description'}, + address => $data->{'address'}, + address2 => $data->{'address2'}, + city => $data->{'city'}, + zipcode => $data->{'zipcode'}, + country => $data->{'country'}, + phone => $data->{'phone'}, + email => $data->{'email'}, + branchcode => $data->{'branchcode'}, + branchname => GetBranchName($data->{'branchcode'}), + total => sprintf("%.2f",$total), + totalcredit => $totalcredit, + is_child => ($data->{'category_type'} eq 'C'), + accounts => \...@accountrows ); + +output_html_with_http_headers $input, $cookie, $template->output; -- 1.7.0.4 _______________________________________________ Koha-patches mailing list Koha-patches@lists.koha.org http://lists.koha.org/mailman/listinfo/koha-patches