Bug 22990: Add CSRF protection to boraccount, pay and suggestion
[koha.git] / koha-tmpl / intranet-tmpl / prog / en / modules / members / mancredit.tt
1 [% USE raw %]
2 [% USE Asset %]
3 [% USE Koha %]
4 [% USE Branches %]
5 [% USE Registers %]
6 [% SET footerjs = 1 %]
7
8 [% PROCESS 'accounts.inc' %]
9
10 [% INCLUDE 'doc-head-open.inc' %]
11 [% SET registers = Registers.all( { filters => { current_branch => 1 } } ) %]
12 <title>Create manual credit &rsaquo; Patrons &rsaquo; Koha</title>
13 [% INCLUDE 'doc-head-close.inc' %]
14 </head>
15
16 <body id="pat_mancredit" class="pat">
17 [% WRAPPER 'header.inc' %]
18     [% INCLUDE 'patron-search-header.inc' %]
19 [% END %]
20
21 [% WRAPPER 'sub-header.inc' %]
22     [% WRAPPER breadcrumbs %]
23         [% WRAPPER breadcrumb_item %]
24             <a href="/cgi-bin/koha/members/members-home.pl">Patrons</a>
25         [% END %]
26         [% WRAPPER breadcrumb_item %]
27             <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% patron.borrowernumber | uri %]">[% INCLUDE 'patron-title.inc' %]</a>
28         [% END %]
29         [% WRAPPER breadcrumb_item bc_active= 1 %]
30             <span>Manual credit</span>
31         [% END %]
32     [% END #/ WRAPPER breadcrumbs %]
33 [% END #/ WRAPPER sub-header.inc %]
34
35 <div class="main container-fluid">
36     <div class="row">
37         <div class="col-sm-10 col-sm-push-2">
38             <main>
39
40             [% INCLUDE 'members-toolbar.inc' %]
41
42             <h1>Manual credit</h1>
43
44             <!-- The manual invoice and credit buttons -->
45             <div class="toptabs">
46                 <ul class="nav nav-tabs" role="tablist">
47                     <li role="presentation" class="transactions">
48                         <a href="/cgi-bin/koha/members/boraccount.pl?borrowernumber=[% patron.borrowernumber | uri %]" role="tab">Transactions</a>
49                     </li>
50                     <li role="presentation" class="makepayment">
51                         <a href="/cgi-bin/koha/members/pay.pl?borrowernumber=[% patron.borrowernumber | uri %]" role="tab">Make a payment</a>
52                     </li>
53                     [% IF CAN_user_updatecharges_manual_invoice %]
54                         <li role="presentation" class="manualinvoice">
55                             <a href="/cgi-bin/koha/members/maninvoice.pl?borrowernumber=[% patron.borrowernumber | uri %]" role="tab">Create manual invoice</a>
56                         </li>
57                     [% END %]
58                     <li role="presentation" class="manualcredit active">
59                         <a href="/cgi-bin/koha/members/mancredit.pl?borrowernumber=[% patron.borrowernumber | uri %]" role="tab">Create manual credit</a>
60                     </li>
61                 </ul> <!-- /.nav.nav-tabs -->
62                 <div class="tab-content">
63                     <div role="tabpanel" class="tab-pane active">
64                         <form action="/cgi-bin/koha/members/mancredit.pl" method="post" id="mancredit">
65                             <input type="hidden" name="borrowernumber" id="borrowernumber" value="[% patron.borrowernumber | html %]" />
66                             <input type="hidden" name="csrf_token" value="[% csrf_token | html %]" />
67
68                             <fieldset class="rows">
69                                 <legend>Manual credit</legend>
70                                 <ol>
71                                     <li>
72                                         <label for="type">Credit type: </label>
73                                         <select name="type" id="type">
74                                             [% FOREACH credit_type IN credit_types %]
75                                             <option value="[% credit_type.code | html %]">[%- PROCESS credit_type_description credit_type=credit_type -%]</option>
76                                             [% END %]
77                                         </select>
78                                     </li>
79                                     <li><label for="barcode">Barcode: </label><input type="text" name="barcode" id="barcode" /></li>
80                                     <li><label for="desc">Description: </label><input type="text" name="desc" size="50" id="desc" /></li>
81                                     <li><label for="note">Note: </label><input type="text" name="note" size="50" id="note" /></li>
82                                     <li><label for="amount" class="required">Amount: </label><input type="text" inputmode="decimal" pattern="^\d+(\.\d{2})?$" name="amount" id="amount" required="required" min="0" value=""/> Example: 5.00</li>
83                                     [% INCLUDE 'transaction_types.inc' type="credit" %]
84                                     [% IF Koha.Preference('UseCashRegisters') %]
85                                     <li>
86                                         [% IF Koha.Preference('RequireCashRegister') %]
87                                             <label for="cash_register" class="required">
88                                         [% ELSE %]
89                                             <label for="cash_register">
90                                         [% END %]
91                                             Cash register:
92                                         </label>
93
94                                         [% IF Koha.Preference('RequireCashRegister') %]
95                                             <select name="cash_register" id="cash_register" required="required">
96                                         [% ELSE %]
97                                             <select name="cash_register" id="cash_register">
98                                         [% END %]
99                                             <option id="noregister" disabled selected="selected" value="">-- Select an option--</option>
100                                             [% PROCESS options_for_registers %]
101                                         </select>
102
103                                         [% IF Koha.Preference('RequireCashRegister') %]
104                                             <span class="required">Required</span>
105                                         [% END %]
106                                     </li>
107                                     [% END %]
108                                 </ol>
109                             </fieldset>
110
111                             [% IF available_additional_fields %]
112                                 [% INCLUDE 'additional-fields-entry.inc' available=available_additional_fields values=additional_field_values %]
113                             [% END %]
114
115                             <fieldset class="action"><input type="submit" name="add" value="Add credit" /> <a class="cancel" href="/cgi-bin/koha/members/boraccount.pl?borrowernumber=[% patron.borrowernumber | html %]">Cancel</a></fieldset>
116                         </form>
117                     </div> <!-- /.tab-pane -->
118                 </div> <!-- /.tab-content -->
119             </div> <!-- /.toptabs -->
120
121             </main>
122         </div> <!-- /.col-sm-10.col-sm-push-2 -->
123
124         <div class="col-sm-2 col-sm-pull-10">
125             <aside>
126                 [% INCLUDE 'circ-menu.inc' %]
127             </aside>
128         </div> <!-- /.col-sm-2.col-sm-pull-10 -->
129     </div> <!-- /.row -->
130
131 [% MACRO jsinclude BLOCK %]
132     [% INCLUDE 'str/members-menu.inc' %]
133     [% Asset.js("js/members-menu.js") | $raw %]
134     <script>
135         $(document).ready(function(){
136             $('#mancredit').preventDoubleFormSubmit();
137             $("fieldset.rows input, fieldset.rows select").addClass("noEnterSubmit");
138             [% UNLESS Koha.Preference('RequireCashRegister') %]
139             $('#credit_type').on('change', function() {
140                let val = $(this).val();
141                if ( val == 'CASH' ) {
142                   $("label[for='cash_register']").addClass('required');
143                   $('#cash_register').attr('required','required').after( '<span class="required">Required</span>' );
144                } else {
145                   $("label[for='cash_register']").removeClass('required');
146                   $('#cash_register').removeAttr('required').next("span").remove();
147                }
148             });
149             [% END %]
150         });
151     </script>
152 [% END %]
153
154 [% INCLUDE 'intranet-bottom.inc' %]