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