Bug 27802: Set cursor focus in first input when adding a cash register
[koha.git] / koha-tmpl / intranet-tmpl / prog / en / modules / admin / cash_registers.tt
1 [% USE raw %]
2 [% USE Asset %]
3 [% USE Branches %]
4 [% USE Price %]
5 [% SET footerjs = 1 %]
6 [% INCLUDE 'doc-head-open.inc' %]
7 <title>
8 [% IF op == 'add_form' %]
9     [% IF cash_register %]
10         Modify cash register
11     [% ELSE %]
12         New cash register [% cash_register.id | html %]
13     [% END %] &rsaquo; [% ELSIF op == 'delete_confirm' %]
14     Confirm deletion of cash register '[% cash_register.id | html %]' &rsaquo; [% END %]
15 Cash registers &rsaquo; Administration &rsaquo; Koha
16 </title>
17 [% INCLUDE 'doc-head-close.inc' %]
18 </head>
19
20 <body id="admin_cash_registers" class="admin">
21 [% INCLUDE 'header.inc' %]
22 [% INCLUDE 'prefs-admin-search.inc' %]
23
24 <nav id="breadcrumbs" aria-label="Breadcrumb" class="breadcrumb">
25     <ol>
26         <li>
27             <a href="/cgi-bin/koha/mainpage.pl">Home</a>
28         </li>
29         <li>
30             <a href="/cgi-bin/koha/admin/admin-home.pl">Administration</a>
31         </li>
32
33         [% IF op == 'add_form'  %]
34             <li>
35                 <a href="/cgi-bin/koha/admin/cash_registers.pl">Cash registers</a>
36             </li>
37             [% IF cash_register %]
38                 <li>
39                     <a href="#" aria-current="page">
40                         Modify cash register [% cash_register.id | html %]
41                     </a>
42                 </li>
43             [% ELSE %]
44                 <li>
45                     <a href="#" aria-current="page">
46                         New cash register
47                     </a>
48                 </li>
49             [% END %]
50
51         [% ELSIF op == 'delete_confirm' %]
52             <li>
53                 <a href="/cgi-bin/koha/admin/cash_registers.pl">Cash registers</a>
54             </li>
55             <li>
56                 <a href="#" aria-current="page">
57                     Confirm deletion of cash register '[% cash_register.id | html %]'
58                 </a>
59             </li>
60
61         [% ELSE %]
62             <li>
63                 <a href="#" aria-current="page">
64                     Cash registers</a>
65             </li>
66         [% END %]
67     </ol>
68 </nav>
69
70 <div class="main container-fluid">
71     <div class="row">
72         <div class="col-sm-10 col-sm-push-2">
73             <main>
74
75                 [% FOREACH m IN messages %]
76                 <div class="dialog [% m.type | html %]">
77                     [% SWITCH m.code %]
78                     [% CASE 'success_on_insert' %]
79                         <span>Cash register added successfully.</span>
80                     [% CASE 'error_on_insert' %]
81                         <span>An error occurred when adding this cash register.</span>
82                     [% CASE 'success_on_update' %]
83                         <span>Cash register updated successfully.</span>
84                     [% CASE 'error_on_update' %]
85                         <span>An error occurred when updating this cash register.</span>
86                     [% CASE 'success_on_default' %]
87                         <span>Library default updated successfully.</span>
88                     [% CASE 'error_on_update' %]
89                         <span>An error on setting library default.</span>
90                     [% CASE 'success_on_archive' %]
91                         <span>Cash register archived successfully.</span>
92                     [% CASE 'success_on_restore' %]
93                         <span>Cash register restored successfully.</span>
94                     [% CASE %]
95                         <span>[% m.code | html %]</span>
96                     [% END %]
97                 </div>
98                 [% END %]
99
100                 [% IF op == 'add_form' %]
101                 <h1>[% IF cash_register %]Modify cash register[% ELSE %]Add new cash register[% END %]</h1>
102                 <form action="/cgi-bin/koha/admin/cash_registers.pl" id="Aform" name="Aform" class="validated" method="post">
103
104                     <fieldset class="rows">
105                         <input type="hidden" name="op" value="add_validate" />
106                         <ol>
107                         [% IF cash_register %]
108                             <li>
109                                 <span class="label">Cash register ID: </span>[% cash_register.id | html %]
110                                 <input type="hidden" name="id" value="[% cash_register.id | html %]" />
111                             </li>
112                         [% END %]
113
114                             <li>
115                                 <label for="name" class="required">Name: </label>
116                                 <input type="text" name="name" id="name" size="24" maxlength="24" value="[% cash_register.name | html %]" class="required focus" />
117                                 <span class="required">Required</span>
118                             </li>
119
120                             <li>
121                                 <label for="description">Description: </label>
122                                 <input type="text" name="description" id="description" size="24" value="[% cash_register.description | html %]"/>
123                             </li>
124                             <li>
125                                 <label for="branch">Library: </label>
126                                 <select id="branch" name="branch">
127                                 [% IF cash_register %]
128                                     [% PROCESS options_for_libraries libraries => Branches.all( selected => cash_register.branch ) %]
129                                 [% ELSE %]
130                                     [% PROCESS options_for_libraries libraries => Branches.all() %]
131                                 [% END %]
132                                 </select>
133                             </li>
134
135                             <li>
136                                 <label for="starting_float">Initial float: </label>
137                                 <input type="text" pattern='^\d+(?:\.\d{0,2})$' name="starting_float" id="starting_float" size="24" value="[% cash_register.starting_float | $Price on_editing => 1  %]" />
138                             </li>
139                         </ol>
140                    </fieldset>
141
142                    <fieldset class="action">
143                        [% IF cash_register %]
144                        <input type="submit" value="Save" />
145                        [% ELSE %]
146                        <input type="submit" value="Add" />
147                        [% END %]
148                        <a class="cancel" href="/cgi-bin/koha/admin/cash_registers.pl?op=list">Cancel</a>
149                    </fieldset>
150                </form>
151                [% END %]
152
153                [% IF op == 'list' %]
154                <div id="toolbar" class="btn-toolbar">
155                    <a class="btn btn-default" id="newcashregister" href="/cgi-bin/koha/admin/cash_registers.pl?op=add_form"><i class="fa fa-plus"></i> New cash register</a>
156                </div>
157
158                <h1>Cash registers</h1>
159                <h3>Cash registers for <select id="branch_filter" name="branch_filter">
160                        <option value=""></option>
161                        [% PROCESS options_for_libraries libraries => Branches.all( selected => branchcode, unfiltered => 1, ) %]
162                    </select>
163                </h3>
164
165                [% IF cash_registers.count %]
166                <table id="table_cash_registers">
167                    <thead>
168                        <th>Name</th>
169                        <th>Description</th>
170                        <th>Library</th>
171                        <th>Library default</th>
172                        <th>Initial float</th>
173                        <th class="noExport">Actions</th>
174                    </thead>
175                    <tbody>
176                    [% FOREACH cash_register IN cash_registers %]
177                    [% IF cash_register.branch_default %]
178                    <tr class="default">
179                    [% ELSE %]
180                    <tr>
181                    [% END %]
182                        <td>[% cash_register.name | html %]</td>
183                        <td>[% cash_register.description | html %]</td>
184                        <td>[% cash_register.library.branchname | html %]</td>
185                        <td>[% IF cash_register.branch_default %]Yes[% ELSE %]No[% END %]</td>
186                        <td>[% cash_register.starting_float | $Price %]</td>
187                        [% IF cash_register.archived == '0' %]
188                        <td class="actions">
189                            <a class="btn btn-default btn-xs" href="cash_registers.pl?op=add_form&amp;id=[% cash_register.id | uri %]"><i class="fa fa-pencil"></i> Edit</a>
190                            [% IF cash_register.branch_default %]
191                            <a class="btn btn-default btn-xs" href="cash_registers.pl?op=drop_default&amp;id=[% cash_register.id | uri %]"><i class="fa fa-archive"></i> Drop default</a>
192                            [% ELSE %]
193                            <a class="btn btn-default btn-xs" href="cash_registers.pl?op=make_default&amp;id=[% cash_register.id | uri %]"><i class="fa fa-archive"></i> Make default</a>
194                            [% END %]
195                            <a class="btn btn-default btn-xs" href="cash_registers.pl?op=archive&amp;id=[% cash_register.id | uri %]"><i class="fa fa-archive"></i> Archive</a>
196                        </td>
197                        [% ELSE %]
198                        <td class="actions"><a class="btn btn-default btn-xs" href="cash_registers.pl?op=unarchive&amp;id=[% cash_register.id | uri %]"><i class="fa fa-trash-restore"></i> Restore</a></td>
199                        [% END %]
200                    </tr>
201                    [% END %]
202                    </tbody>
203                </table>
204                [% ELSE %]
205                <div class="dialog message">There are no cash registers defined. <a href="/cgi-bin/koha/admin/cash_registers.pl?op=add_form">Start adding cash registers</a>.</div>
206                [% END # /cash_register.count %]
207                [% END # /op == 'list' %]
208            </main>
209         </div> <!-- /.col-sm-10.col-sm-push-2 -->
210
211         <div class="col-sm-2 col-sm-pull-10">
212             <aside>
213                 [% INCLUDE 'admin-menu.inc' %]
214             </aside>
215         </div> <!-- /.col-sm-2.col-sm-pull-10 -->
216     </div> <!-- /.row -->
217
218 [% MACRO jsinclude BLOCK %]
219     [% Asset.js("js/admin-menu.js") | $raw %]
220     [% INCLUDE 'datatables.inc' %]
221     <script>
222     function filterDataTable( table, column, term ){
223         if( column ){
224             table.column( column ).search( term ).draw();
225         } else {
226             table.search( term ).draw();
227         }
228         clearFilter( term );
229     }
230
231     function clearFilter( term ){
232         if( term == "" ){
233             $(".dt_button_clear_filter").addClass("disabled");
234         } else {
235             $(".dt_button_clear_filter").removeClass("disabled");
236         }
237     }
238
239     $(document).ready(function() {
240         var crtable = $("#table_cash_registers").DataTable($.extend(true, {}, dataTablesDefaults, {
241               "aoColumnDefs": [
242                   { "aTargets": [ -1, -2 ], "bSortable": false, "bSearchable":false },
243                ],
244                "aaSorting": [[ 1, "asc" ]],
245                "paginationType": "full",
246         }));
247
248         $("#branch_filter").on("change", function(){
249             // Table must be filtered by the <option>'s text, not its value
250             var opt = $(this).find("option:selected").text();
251             filterDataTable( crtable, 2, opt );
252         });
253
254     });
255     </script>
256 [% END %]
257
258 [% INCLUDE 'intranet-bottom.inc' %]