Bug 30952: Staff interface redesign (header)
[koha.git] / koha-tmpl / intranet-tmpl / prog / en / modules / members / pay.tt
1 [% USE raw %]
2 [% USE Asset %]
3 [% USE Koha %]
4 [% USE AuthorisedValues %]
5 [% USE Branches %]
6 [% USE Price %]
7 [% USE TablesSettings %]
8 [% USE KohaDates %]
9 [% SET footerjs = 1 %]
10 [% PROCESS 'accounts.inc' %]
11 [% INCLUDE 'doc-head-open.inc' %]
12 <title>Make a payment for [% INCLUDE 'patron-title.inc' no_html = 1 %] &rsaquo; Patrons &rsaquo; Koha</title>
13 [% INCLUDE 'doc-head-close.inc' %]
14 </head>
15
16 <body id="pat_pay" class="pat">
17 [% WRAPPER 'header.inc' %]
18     [% INCLUDE 'patron-search-header.inc' %]
19 [% END %]
20
21 [% WRAPPER 'sub-header.inc' %]
22 <nav id="breadcrumbs" aria-label="Breadcrumb" class="breadcrumb">
23     <ol>
24         <li>
25             <a href="/cgi-bin/koha/mainpage.pl"><i class="fa fa-home"></i></a>
26         </li>
27         <li>
28             <a href="/cgi-bin/koha/members/members-home.pl">Patrons</a>
29         </li>
30         <li>
31             <a href="#" aria-current="page">
32                 Make a payment for [% INCLUDE 'patron-title.inc' %]
33             </a>
34         </li>
35     </ol>
36 </nav>
37 [% END %]
38
39 <div class="main container-fluid">
40     <div class="row">
41         <div class="col-sm-10 col-sm-push-2">
42             <main>
43
44 [% INCLUDE 'members-toolbar.inc' borrowernumber=patron.borrowernumber %]
45
46 <h1>Make a payment</h1>
47
48 <!-- The manual invoice and credit buttons -->
49 <div class="statictabs">
50 <ul>
51     <li class="transactions"><a href="/cgi-bin/koha/members/boraccount.pl?borrowernumber=[% patron.borrowernumber | uri %]">Transactions</a></li>
52     <li class="active makepayment"><a href="/cgi-bin/koha/members/pay.pl?borrowernumber=[% patron.borrowernumber | uri %]" >Make a payment</a></li>
53     [% IF CAN_user_updatecharges_manual_invoice %]
54     <li class="manualinvoice"><a href="/cgi-bin/koha/members/maninvoice.pl?borrowernumber=[% patron.borrowernumber | uri %]" >Create manual invoice</a></li>
55     [% END %]
56     [% IF CAN_user_updatecharges_manual_credit %]
57     <li class="manualcredit"><a href="/cgi-bin/koha/members/mancredit.pl?borrowernumber=[% patron.borrowernumber | uri %]" >Create manual credit</a></li>
58     [% END %]
59 </ul>
60 <div class="tabs-container">
61
62 [% INCLUDE 'renew_results.inc' renew_results=renew_results %]
63 [% IF ( accounts ) %]
64     <form action="/cgi-bin/koha/members/pay.pl" method="post" id="pay-fines-form">
65     <input type="hidden" name="borrowernumber" id="borrowernumber" value="[% patron.borrowernumber | html %]" />
66 <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>
67 <table id="finest">
68 <thead>
69 <tr>
70     <th class="NoSort">&nbsp;</th>
71     <th class="NoSort noExport">Actions</th>
72     <th>Account type</th>
73     <th>Description</th>
74     <th>Date</th>
75     <th>Barcode</th>
76     <th>Due date</th>
77     <th>Checkin date</th>
78     <th>Checkout date</th>
79     <th class="checked_out_from">Checked out from</th>
80     <th class="NoSort">Payment note</th>
81     <th>Amount</th>
82     <th>Amount outstanding</th>
83 </tr>
84 </thead>
85
86 <tbody>
87 [% FOREACH line IN accounts %]
88 <tr>
89     <td>
90     [% IF ( line.amountoutstanding > 0 ) %]
91         <input class="cb" type="checkbox" checked="checked" name="incl_par_[% line.accountlines_id | html %]" />
92     [% END %]
93     </td>
94     <td class="actions">
95     [% IF ( line.amountoutstanding > 0 ) %]
96         <button type="submit" class="btn btn-default btn-xs" name="pay_indiv_[% line.accountlines_id | html %]" value="Pay">Pay</button>
97         [% IF CAN_user_updatecharges_writeoff %]
98             <button type="submit" class="btn btn-default btn-xs" name="wo_indiv_[% line.accountlines_id | html %]" value="Write off">Write off</button>
99         [% END %]
100     [% END %]
101     <input type="hidden" name="itemnumber[% line.accountlines_id | html %]" value="[% line.itemnumber | html %]" />
102     <input type="hidden" name="description[% line.accountlines_id | html %]" value="[% line.description | html %]" />
103     <input type="hidden" name="debit_type_code[% line.accountlines_id | html %]" value="[% line.debit_type_code | html %]" />
104     <input type="hidden" name="amount[% line.accountlines_id | html %]" value="[% line.amount | html %]" />
105     <input type="hidden" name="accountlines_id[% line.accountlines_id | html %]" value="[% line.accountlines_id | html %]" />
106     <input type="hidden" name="amountoutstanding[% line.accountlines_id | html %]" value="[% line.amountoutstanding | html %]" />
107     <input type="hidden" name="borrowernumber[% line.accountlines_id | html %]" value="[% line.borrowernumber | html %]" />
108     </td>
109     <td>
110         [% PROCESS account_type_description account=line %]
111     </td>
112     <td>
113         [%- IF line.description %][% line.description | html %][% END %]
114         [% IF line.itemnumber %]([% line.item.biblio.title | html %])[% END %]
115     </td>
116     <td data-order="[% line.date | html %]">
117         [% line.date | $KohaDates %]
118     </td>
119     <td>
120         [% IF line.itemnumber %]
121             <a href="/cgi-bin/koha/catalogue/moredetail.pl?itemnumber=[% line.itemnumber | uri %]&amp;biblionumber=[% line.item.biblionumber | uri %]#item[% line.itemnumber | uri %]">[% line.item.barcode | html %]</a>
122         [% END %]
123     </td>
124     <td>
125         [% IF line.issue_id %]
126             [% line.checkout.date_due | $KohaDates as_due_date => 1 %]
127         [% END %]
128     </td>
129     <td>
130         [% IF line.issue_id %]
131             [% line.checkout.returndate | $KohaDates with_hours => 1 %]
132         [% END %]
133     </td>
134     <td>
135         [% IF line.issue_id %]
136             [% line.checkout.issuedate | $KohaDates %]
137         [% END %]
138     </td>
139     <td class="checked_out_from">
140         [% IF line.issue_id && line.checkout.library %]
141             [% line.checkout.library.branchname | html %]
142         [% END %]
143     </td>
144     <td class="actions">
145         <a href="#" class="add-note" data-accountlines_id="[% line.accountlines_id | html %]"><i class="fa fa-plus"></i> Add note</a>
146         <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>
147     </td>
148     <td class="debit" style="text-align: right;">[% line.amount | $Price %]</td>
149     <td class="debit" style="text-align: right;">[% line.amountoutstanding | $Price %]</td>
150 </tr>
151 [% END %]
152 </tbody>
153
154 <tfoot>
155     <tr>
156         <td class="total" colspan="12">Total due:</td>
157         <td style="text-align: right;">[% total | $Price %]</td>
158     </tr>
159     [% IF outstanding_credits.total_outstanding < 0 %]
160         <tr>
161             <td class="total" colspan="12">Outstanding credits could be applied: </td>
162             <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>
163         </tr>
164         <tr>
165             <td class="total" colspan="12">Total due if credit applied:</td>
166             <td style="text-align: right;">[% total + outstanding_credits.total_outstanding | $Price %]</td>
167         </tr>
168     [% END %]
169 </tfoot>
170
171 </table>
172 <fieldset class="action">
173 <input type="submit" id="paycollect" name="paycollect"  value="Pay amount" class="submit" />
174 <input type="submit" id="payselected" name="payselected"  value="Pay selected" class="submit" />
175 [% IF CAN_user_updatecharges_writeoff %]<input type="submit" name="woall"  id="woall" value="Write off all" class="submit" />
176 <input type="submit" id="writeoff-selected" name="writeoff_selected"  value="Write off selected" class="submit" />[% END %]
177 <a class="cancel" href="/cgi-bin/koha/members/boraccount.pl?borrowernumber=[% patron.borrowernumber | html %]">Cancel</a>
178 </fieldset>
179 </form>
180 [% ELSE %]
181     <p>[% INCLUDE 'patron-title.inc' %] has no outstanding fines.</p>
182 [% END %]
183 </div></div>
184
185             </main>
186         </div> <!-- /.col-sm-10.col-sm-push-2 -->
187
188         <div class="col-sm-2 col-sm-pull-10">
189             <aside>
190                 [% INCLUDE 'circ-menu.inc' %]
191             </aside>
192         </div> <!-- /.col-sm-2.col-sm-pull-10 -->
193      </div> <!-- /.row -->
194
195 [% MACRO jsinclude BLOCK %]
196     [% INCLUDE 'str/members-menu.inc' %]
197     [% Asset.js("js/members-menu.js") | $raw %]
198     [% INCLUDE 'datatables.inc' %]
199     [% INCLUDE 'columns_settings.inc' %]
200     <script>
201         function enableCheckboxActions(){
202             // Enable/disable controls if checkboxes are checked
203             var checkedBoxes = $("input.cb:checked");
204             if ($(checkedBoxes).size()) {
205               $("#payselected, #writeoff-selected").prop("disabled",false);
206             } else {
207               $("#payselected, #writeoff-selected").prop("disabled",true);
208             }
209         }
210         $(document).ready(function(){
211             [% IF payment_id && Koha.Preference('FinePaymentAutoPopup') %]
212                 window.open('/cgi-bin/koha/members/printfeercpt.pl?action=print&accountlines_id=[% payment_id | html %]&change_given=[% change_given | html %]&borrowernumber=[% patron.borrowernumber | html %]', '_blank');
213             [% END %]
214
215             $('#pay-fines-form').preventDoubleFormSubmit();
216             $("#woall").click(function(event){
217                 var msg = _("Are you sure you want to write off %s in outstanding fines? This cannot be undone!").format( "[% total | $Price %]" );
218                 var answer = confirm(msg);
219                     if (!answer){
220                         event.preventDefault();
221                     }
222             });
223             $('#CheckAll').click(function(e){
224                 e.preventDefault();
225                 $(".cb").each(function(){
226                     $(this).prop("checked", true );
227                 });
228                 enableCheckboxActions();
229             });
230             $('#CheckNone').click(function(e){
231                 e.preventDefault();
232                 $(".cb").each(function(){
233                     $(this).prop("checked", false );
234                 });
235                 enableCheckboxActions();
236             });
237             $(".cb").change(function(){
238                 enableCheckboxActions();
239             });
240             enableCheckboxActions();
241             $(".add-note").on("click", function(e){
242                 e.preventDefault();
243                 $(this).hide();
244                 var accountlines_id = $(this).data("accountlines_id");
245                 $("#payment_note_" + accountlines_id ).show().find("input").focus();
246             });
247             $(".cancel-note").on("click", function(e){
248                 e.preventDefault();
249                 $(".payment_note").hide().find("input").val("");
250                 $(".add-note").show();
251             });
252
253             var table_settings = [% TablesSettings.GetTableSettings('members', 'pay', 'pay-fines-table', 'json') | $raw %];
254             KohaTable("finest", {
255                 "paging": false,
256                 "autoWidth": false
257             }, table_settings );
258         });
259     </script>
260 [% END %]
261
262 [% INCLUDE 'intranet-bottom.inc' %]