Bugzilla – Attachment 2107 Details for
Bug 4440
Adding feature to print fines/fees receipts
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Revised patch. Earlier patch was failing..
0005-Bug-4440-Adding-feature-to-print-fines-fees-receipts.patch (text/plain), 9.05 KB, created by
Chris Cormack
on 2010-05-07 17:51:00 UTC
(
hide
)
Description:
Revised patch. Earlier patch was failing..
Filename:
MIME Type:
Creator:
Chris Cormack
Created:
2010-05-07 17:51:00 UTC
Size:
9.05 KB
patch
obsolete
>From 8bca118c2c30529130f7e4cdf3b366e87a3847e2 Mon Sep 17 00:00:00 2001 >From: Koustubha Kale <kmkale@anantcorp.com> >Date: Fri, 7 May 2010 21:58:30 +0530 >Subject: [PATCH] Bug 4440: Adding feature to print fines/fees receipts Reworked to rid of errors while applying the patch >Content-Type: text/plain; charset="utf-8" > >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 kmkale@anantcorp.com adapted from boraccount.pl by chris@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 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 4440
:
2106
|
2107
|
2108
|
2691
|
2745
|
2753
|
2758
|
2759