4 [% USE AuthorisedValues %]
7 [% USE ColumnsSettings %]
10 [% INCLUDE 'doc-head-open.inc' %]
11 <title>Koha › Patrons › Make a payment for [% patron.firstname | html %] [% patron.surname | html %]</title>
12 [% INCLUDE 'doc-head-close.inc' %]
15 <body id="pat_pay" class="pat">
16 [% INCLUDE 'header.inc' %]
17 [% INCLUDE 'patron-search.inc' %]
19 <div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> › <a href="/cgi-bin/koha/members/members-home.pl">Patrons</a> › Make a payment for [% patron.firstname | html %] [% patron.surname | html %]</div>
21 <div class="main container-fluid">
23 <div class="col-sm-10 col-sm-push-2">
26 [% INCLUDE 'members-toolbar.inc' borrowernumber=patron.borrowernumber %]
28 <!-- The manual invoice and credit buttons -->
29 <div class="statictabs">
31 <li><a href="/cgi-bin/koha/members/boraccount.pl?borrowernumber=[% patron.borrowernumber | uri %]">Transactions</a></li>
32 <li class="active"><a href="/cgi-bin/koha/members/pay.pl?borrowernumber=[% patron.borrowernumber | uri %]" >Make a payment</a></li>
33 <li><a href="/cgi-bin/koha/members/maninvoice.pl?borrowernumber=[% patron.borrowernumber | uri %]" >Create manual invoice</a></li>
34 <li><a href="/cgi-bin/koha/members/mancredit.pl?borrowernumber=[% patron.borrowernumber | uri %]" >Create manual credit</a></li>
36 <div class="tabs-container">
39 <form action="/cgi-bin/koha/members/pay.pl" method="post" id="pay-fines-form">
40 <input type="hidden" name="borrowernumber" id="borrowernumber" value="[% patron.borrowernumber | html %]" />
41 <p><span class="checkall"><a id="CheckAll" href="#"><i class="fa fa-check"></i> Select all</a></span> | <span class="clearall"><a id="CheckNone" href="#"><i class="fa fa-remove"></i> Clear all</a></span></p>
45 <th class="NoSort"> </th>
46 <th class="NoSort">Actions</th>
48 <th class="title-string">Date</th>
49 <th class="NoSort">Payment note</th>
52 <th>Amount outstanding</th>
57 [% FOREACH line IN accounts %]
60 [% IF ( line.amountoutstanding > 0 ) %]
61 <input class="cb" type="checkbox" checked="checked" name="incl_par_[% line.accountlines_id | html %]" />
65 [% IF ( line.amountoutstanding > 0 ) %]
66 <button type="submit" class="btn btn-default btn-xs" name="pay_indiv_[% line.accountlines_id | html %]" value="Pay">Pay</button>
67 [% IF CAN_user_updatecharges_writeoff %]
68 <button type="submit" class="btn btn-default btn-xs" name="wo_indiv_[% line.accountlines_id | html %]" value="Write off">Write off</button>
71 <input type="hidden" name="itemnumber[% line.accountlines_id | html %]" value="[% line.itemnumber | html %]" />
72 <input type="hidden" name="description[% line.accountlines_id | html %]" value="[% line.description | html %]" />
73 <input type="hidden" name="accounttype[% line.accountlines_id | html %]" value="[% line.accounttype | html %]" />
74 <input type="hidden" name="amount[% line.accountlines_id | html %]" value="[% line.amount | html %]" />
75 <input type="hidden" name="accountlines_id[% line.accountlines_id | html %]" value="[% line.accountlines_id | html %]" />
76 <input type="hidden" name="amountoutstanding[% line.accountlines_id | html %]" value="[% line.amountoutstanding | html %]" />
77 <input type="hidden" name="borrowernumber[% line.accountlines_id | html %]" value="[% line.borrowernumber | html %]" />
80 [% SWITCH line.accounttype %]
81 [% CASE 'Pay' %]Payment, thanks
82 [% CASE 'Pay00' %]Payment, thanks (cash via SIP2)
83 [% CASE 'Pay01' %]Payment, thanks (VISA via SIP2)
84 [% CASE 'Pay02' %]Payment, thanks (credit card via SIP2)
85 [% CASE 'N' %]New card
87 [% CASE 'A' %]Account management fee
89 [% CASE 'L' %]Lost item
90 [% CASE 'W' %]Writeoff
91 [% CASE 'FU' %]Accruing fine
92 [% CASE 'HE' %]Hold waiting too long
93 [% CASE 'Rent' %]Rental fee
94 [% CASE 'FOR' %]Forgiven
95 [% CASE 'LR' %]Lost item fee refund
96 [% CASE 'PF' %]Processing fee
97 [% CASE 'PAY' %]Payment
98 [% CASE 'WO' %]Writeoff
100 [% CASE 'CR' %]Credit
101 [% CASE %][% line.accounttype | html %]
103 [%- IF line.description %], [% line.description | html %][% END %]
104 [% IF line.title %]([% line.title | html %])[% END %]
107 <span title="[% line.date | html %]">[% line.date | $KohaDates %]</span>
110 <a href="#" class="add-note" data-accountlines_id="[% line.accountlines_id | html %]"><i class="fa fa-plus"></i> Add note</a>
111 <span class="payment_note" id="payment_note_[% line.accountlines_id | html %]" style="display:none"><input type="text" size="10" name="payment_note_[% line.accountlines_id | html %]" value="" /> <a href="#" class="cancel-note"><i class="fa fa-remove"></i></a></span>
113 <td>[% line.accounttype | html %]</td>
114 <td class="debit" style="text-align: right;">[% line.amount | $Price %]</td>
115 <td class="debit" style="text-align: right;">[% line.amountoutstanding | $Price %]</td>
121 [% IF outstanding_credits.total_outstanding < 0 %]
123 <td class="total" colspan="7">Outstanding credits could be applied: </td>
124 <td class="credit" style="text-align: right;"><button type="submit" id="apply_credits" name="apply_credits" value="apply_credits" class="btn btn-default btn-sm">Apply <strong class="credit">[% outstanding_credits.total_outstanding | $Price %]</strong></button></td>
127 [% IF ( account_grp.total ) %]
129 <td class="total" colspan="7" style="text-align: right;">Sub total:</td>
130 <td style="text-align: right;">[% account_grp.total | $Price %]</td>
134 <td class="total" colspan="7">Total due:</td>
135 [% IF outstanding_credits.total_outstanding < 0 %]
136 <td style="text-align: right;">[% total + outstanding_credits.total_outstanding | $Price %]</td>
138 <td style="text-align: right;">[% total | $Price %]</td>
144 <fieldset class="action">
145 <input type="submit" id="paycollect" name="paycollect" value="Pay amount" class="submit" />
146 [% IF CAN_user_updatecharges_writeoff %]<input type="submit" name="woall" id="woall" value="Write off all" class="submit" />[% END %]
147 <input type="submit" id="payselected" name="payselected" value="Pay selected" class="submit" />
148 <input type="submit" id="writeoff-selected" name="writeoff_selected" value="Write off selected" class="submit" />
149 <a class="cancel" href="/cgi-bin/koha/members/boraccount.pl?borrowernumber=[% patron.borrowernumber | html %]">Cancel</a>
153 <p>[% patron.firstname | html %] [% patron.surname | html %] has no outstanding fines.</p>
158 </div> <!-- /.col-sm-10.col-sm-push-2 -->
160 <div class="col-sm-2 col-sm-pull-10">
162 [% INCLUDE 'circ-menu.inc' %]
164 </div> <!-- /.col-sm-2.col-sm-pull-10 -->
165 </div> <!-- /.row -->
167 [% MACRO jsinclude BLOCK %]
168 [% INCLUDE 'str/members-menu.inc' %]
169 [% Asset.js("js/members-menu.js") | $raw %]
170 [% Asset.js("lib/jquery/plugins/jquery.checkboxes.min.js") | $raw %]
171 [% INCLUDE 'datatables.inc' %]
172 [% INCLUDE 'columns_settings.inc' %]
174 function enableCheckboxActions(){
175 // Enable/disable controls if checkboxes are checked
176 var checkedBoxes = $("input.cb:checked");
177 if ($(checkedBoxes).size()) {
178 $("#payselected, #writeoff-selected").prop("disabled",false);
180 $("#payselected, #writeoff-selected").prop("disabled",true);
183 $(document).ready(function(){
184 $('#pay-fines-form').preventDoubleFormSubmit();
185 $("#woall").click(function(event){
186 var msg = _("Are you sure you want to write off %s in outstanding fines? This cannot be undone!").format( "[% total | $Price %]" );
187 var answer = confirm(msg);
189 event.preventDefault();
192 $('#CheckAll').click(function(e){
194 $("#finest").checkCheckboxes();
195 enableCheckboxActions();
198 $('#CheckNone').click(function(e){
200 $("#finest").unCheckCheckboxes();
201 enableCheckboxActions();
204 $(".cb").change(function(){
205 enableCheckboxActions();
207 enableCheckboxActions();
208 $(".add-note").on("click", function(e){
211 var accountlines_id = $(this).data("accountlines_id");
212 $("#payment_note_" + accountlines_id ).show().find("input").focus();
214 $(".cancel-note").on("click", function(e){
216 $(".payment_note").hide().find("input").val("");
217 $(".add-note").show();
220 var columns_settings = [% ColumnsSettings.GetColumns('members', 'pay', 'pay-fines-table', 'json') | $raw %];
221 KohaTable("finest", {
223 { "bSortable": false, "bSearchable": false, 'aTargets': [ 'NoSort' ] },
224 { "sType": "anti-the", "aTargets" : [ "anti-the" ] },
225 { "sType": "title-string", "aTargets" : [ "title-string" ] }
228 'sorting': [[ 3, "asc" ]],
230 }, columns_settings );
235 [% INCLUDE 'intranet-bottom.inc' %]