6c6fe37ced
Uses preventDoubleForSubmit() to prevent double form submissions in the fines module. To test: Create a manual invoice/fine Create some manual fines, click save like mad - you should get only one fine (without, you will get several if you click madly enough) Click Pay fines Pay some fines, clicking save like mad on each. You should only get one payment. (without, you will get several payments) Create a manual credit Create a credit, click save like mad. You should only get one credit. (without you will get several if you click madly enough) Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl> Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
130 lines
5.3 KiB
Text
130 lines
5.3 KiB
Text
[% INCLUDE 'doc-head-open.inc' %]
|
|
<title>Koha › Patrons › Pay Fines for [% borrower.firstname %] [% borrower.surname %]</title>
|
|
[% INCLUDE 'doc-head-close.inc' %]
|
|
<script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.checkboxes.min.js"></script>
|
|
<script type= "text/javascript">
|
|
//<![CDATA[
|
|
$(document).ready(function(){
|
|
$('#pay-fines-form').preventDoubleFormSubmit();
|
|
$("#woall").click(function(event){
|
|
var answer = confirm(_("Are you sure you want to write off [% total | format('%.2f') %] in outstanding fines? This cannot be undone!"));
|
|
if (!answer){
|
|
event.preventDefault();
|
|
}
|
|
});
|
|
$('#CheckAll').click(function(){ $("#finest").checkCheckboxes(); return false;});
|
|
$('#CheckNone').click(function(){ $("#finest").unCheckCheckboxes(); return false;});
|
|
});
|
|
//]]>
|
|
</script>
|
|
</head>
|
|
<body id="pat_pay" class="pat">
|
|
[% INCLUDE 'header.inc' %]
|
|
[% INCLUDE 'patron-search.inc' %]
|
|
|
|
<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> › <a href="/cgi-bin/koha/members/members-home.pl">Patrons</a> › Pay fines for [% borrower.firstname %] [% borrower.surname %]</div>
|
|
|
|
<div id="doc3" class="yui-t2">
|
|
|
|
<div id="bd">
|
|
<div id="yui-main">
|
|
<div class="yui-b">
|
|
[% INCLUDE 'members-toolbar.inc' borrowernumber=borrower.borrowernumber %]
|
|
|
|
<!-- The manual invoice and credit buttons -->
|
|
<div class="statictabs">
|
|
<ul>
|
|
<li><a href="/cgi-bin/koha/members/boraccount.pl?borrowernumber=[% borrower.borrowernumber %]">Account</a></li>
|
|
<li class="active"><a href="/cgi-bin/koha/members/pay.pl?borrowernumber=[% borrower.borrowernumber %]" >Pay fines</a></li>
|
|
<li><a href="/cgi-bin/koha/members/maninvoice.pl?borrowernumber=[% borrower.borrowernumber %]" >Create manual invoice</a></li>
|
|
<li><a href="/cgi-bin/koha/members/mancredit.pl?borrowernumber=[% borrower.borrowernumber %]" >Create manual credit</a></li>
|
|
</ul>
|
|
<div class="tabs-container">
|
|
|
|
[% IF ( accounts ) %]
|
|
<form action="/cgi-bin/koha/members/pay.pl" method="post" id="pay-fines-form">
|
|
<input type="hidden" name="borrowernumber" id="borrowernumber" value="[% borrower.borrowernumber %]" />
|
|
<p><span class="checkall"><a id="CheckAll" href="#">Select all</a></span> | <span class="clearall"><a id="CheckNone" href="#">Clear all</a></span></p>
|
|
<table id="finest">
|
|
<thead>
|
|
<tr>
|
|
<th> </th>
|
|
<th>Fines & charges</th>
|
|
<th>Description</th>
|
|
<th>Account type</th>
|
|
<th>Notify id</th>
|
|
<th>Level</th>
|
|
<th>Amount</th>
|
|
<th>Amount outstanding</th>
|
|
</tr>
|
|
</thead>
|
|
<tfoot>
|
|
<tr>
|
|
<td class="total" colspan="7">Total Due:</td>
|
|
<td>[% total | format('%.2f') %]</td>
|
|
</tr>
|
|
</tfoot>
|
|
<tbody>
|
|
[% FOREACH account_grp IN accounts %]
|
|
[% FOREACH line IN account_grp.accountlines %]
|
|
<tr>
|
|
<td>
|
|
[% IF ( line.amountoutstanding > 0 ) %]
|
|
<input type="checkbox" checked="checked" name="incl_par_[% line.accountno %]" />
|
|
[% END %]
|
|
</td>
|
|
<td>
|
|
[% IF ( line.amountoutstanding > 0 ) %]
|
|
<input type="submit" name="pay_indiv_[% line.accountno %]" value="Pay" />
|
|
<input type="submit" name="wo_indiv_[% line.accountno %]" value="Write off" />
|
|
[% END %]
|
|
<input type="hidden" name="itemnumber[% line.accountno %]" value="[% line.itemnumber %]" />
|
|
<input type="hidden" name="description[% line.accountno %]" value="[% line.description %]" />
|
|
<input type="hidden" name="accounttype[% line.accountno %]" value="[% line.accounttype %]" />
|
|
<input type="hidden" name="amount[% line.accountno %]" value="[% line.amount %]" />
|
|
<input type="hidden" name="accountlines_id[% line.accountno %]" value="[% line.accountlines_id %]" />
|
|
<input type="hidden" name="amountoutstanding[% line.accountno %]" value="[% line.amountoutstanding %]" />
|
|
<input type="hidden" name="borrowernumber[% line.accountno %]" value="[% line.borrowernumber %]" />
|
|
<input type="hidden" name="accountno[% line.accountno %]" value="[% line.accountno %]" />
|
|
<input type="hidden" name="notify_id[% line.accountno %]" value="[% line.notify_id %]" />
|
|
<input type="hidden" name="notify_level[% line.accountno %]" value="[% line.notify_level %]" />
|
|
<input type="hidden" name="totals[% line.accountno %]" value="[% line.totals %]" />
|
|
</td>
|
|
<td>[% line.description %] ([% line.title |html_entity %])</td>
|
|
<td>[% line.accounttype %]</td>
|
|
<td>[% line.notify_id %]</td>
|
|
<td>[% line.notify_level %]</td>
|
|
<td class="debit">[% line.amount | format('%.2f') %]</td>
|
|
<td class="debit">[% line.amountoutstanding | format('%.2f') %]</td>
|
|
</tr>
|
|
[% END %]
|
|
[% IF ( account_grp.total ) %]
|
|
<tr>
|
|
|
|
<td class="total" colspan="7">Sub total:</td>
|
|
<td>[% account_grp.total | format('%.2f') %]</td>
|
|
</tr>
|
|
[% END %]
|
|
[% END %]
|
|
</tbody>
|
|
</table>
|
|
<fieldset class="action">
|
|
<input type="submit" name="paycollect" value="Pay amount" class="submit" />
|
|
<input type="submit" name="woall" id="woall" value="Write off all" class="submit" />
|
|
<input type="submit" name="payselected" value="Pay selected" class="submit" />
|
|
<a class="cancel" href="/cgi-bin/koha/members/boraccount.pl?borrowernumber=[% borrower.borrowernumber %]">Cancel</a>
|
|
</fieldset>
|
|
</form>
|
|
[% ELSE %]
|
|
<p>[% borrower.firstname %] [% borrower.surname %] has no outstanding fines.</p>
|
|
[% END %]
|
|
</div></div>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
<div class="yui-b">
|
|
[% INCLUDE 'circ-menu.tt' %]
|
|
</div>
|
|
</div>
|
|
[% INCLUDE 'intranet-bottom.inc' %]
|