6bd66b36c049dd2d5eda497cccb3ca73529a5122
[koha.git] / manage.tt
1 [% USE CGI %]
2 [% SET footerjs = 1 %]
3 [% BLOCK translate_card_element %]
4 [%-  SWITCH element -%]
5 [%-  CASE 'layout'    -%]layout
6 [%-  CASE 'Layouts'   -%]Layouts
7 [%-  CASE 'template'  -%]template
8 [%-  CASE 'Templates' -%]Templates
9 [%-  CASE 'profile'   -%]profile
10 [%-  CASE 'Profiles'  -%]Profiles
11 [%-  CASE 'batch'     -%]batch
12 [%-  CASE 'Batches'   -%]Batches
13 [%-  CASE 'Actions'   -%]Actions
14 [%-  END -%]
15 [% END %]
16 [% BLOCK translate_card_elements %]
17 [%-  SWITCH element -%]
18 [%-  CASE 'layout'    -%]layouts
19 [%-  CASE 'template'  -%]templates
20 [%-  CASE 'profile'   -%]profiles
21 [%-  CASE 'batch'     -%]batches
22 [%-  END -%]
23 [% END %]
24
25     [% INCLUDE 'doc-head-open.inc' %]
26     <title>Koha &rsaquo; Tools &rsaquo; Patron card creator &rsaquo; [% PROCESS translate_card_element element=card_element_title %]</title>
27     [% INCLUDE 'doc-head-close.inc' %]
28 </head>
29
30 <body id="pcard_manage" class="tools pcard">
31     [% INCLUDE 'header.inc' %]
32     [% INCLUDE 'cat-search.inc' %]
33     <div id="breadcrumbs">
34         <a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo;
35         <a href="/cgi-bin/koha/tools/tools-home.pl">Tools</a> &rsaquo;
36         <a href="/cgi-bin/koha/patroncards/home.pl">Patron card creator</a> &rsaquo;
37         [% PROCESS translate_card_element element=card_element_title %]
38     </div>
39     <div id="doc3" class="yui-t2">
40         <div id="bd">
41             <div id="yui-main">
42                 <div class="yui-b">
43                     [% INCLUDE 'patroncards-toolbar.inc' %]
44                     [% INCLUDE 'patroncards-errors.inc' %]
45                     <div class="yui-gc">
46                         <div class="yui-u first" id="manage-patroncards-layouts">
47                             <div class="hint">Current library: [% LoginBranchname | html %]</div>
48                             [% IF ( table_loop ) %]
49                             <form name="layouts" action="/cgi-bin/koha/manage.pl?card_element=[% card_element | html %]">
50                             <h2>Currently available [% PROCESS translate_card_element element=card_element_title FILTER lower %]</h2>
51                             <table>
52                                 [% FOREACH table_loo IN table_loop %]
53                                 [% IF ( table_loo.header_fields ) %]
54                                 <tr>
55                                 [% FOREACH header_field IN table_loo.header_fields %]
56                                     [% SWITCH header_field.field_label -%]
57                                         [%-  CASE 'Layout ID'     -%]<th>Layout ID</th>
58                                         [%-  CASE 'Layout'        -%]<th>Layout</th>
59                                         [%-  CASE 'Action'        -%]<th>Action</th>
60                                         [%-  CASE 'Actions'       -%]<th>Actions</th>
61                                         [%-  CASE 'Select'        -%][% IF ( print ) %]<th>Select</th>[% END %]
62                                         [%-  CASE 'Template ID'   -%]<th>Template ID</th>
63                                         [%-  CASE 'Template Name' -%]<th>Template name</th>
64                                         [%-  CASE 'Description'   -%]<th>Description</th>
65                                         [%-  CASE 'Profile ID'    -%]<th>Profile ID</th>
66                                         [%-  CASE 'Printer Name'  -%]<th>Printer name</th>
67                                         [%-  CASE 'Paper Bin'     -%]<th>Paper bin</th>
68                                         [%-  CASE 'Batch ID'      -%]<th>Batch ID</th>
69                                         [%-  CASE 'Patron Count'  -%]<th>Patron count</th>
70                                         [%-  CASE                 -%]<th>[% header_field.field_label | html %]</th>
71                                     [% END -%]
72                                 [% END %]
73                                 </tr>
74                                 [% ELSE %]
75                                 <tr>
76                                 [% FOREACH text_field IN table_loo.text_fields %]
77                                 [% IF ( text_field.select_field ) %]
78                                     <td>
79                                       <a class="btn btn-default btn-xs" href="/cgi-bin/koha/patroncards/edit-[% card_element | html %].pl?op=edit&element_id=[% text_field.field_value | html %]"><i class="fa fa-edit"></i> Edit</a>
80                                       [% IF ( print ) %]<a class="btn btn-default btn-xs export" data-batch-id="[% text_field.field_value |url %]" href="/cgi-bin/koha/patroncards/print.pl?batch_id=[% text_field.field_value |url %]"><i class="fa fa-share-square-o"></i> Export</a>[% END %]
81                                       <a class="btn btn-default btn-xs delete" href="/cgi-bin/koha/patroncards/manage.pl?op=delete&card_element=[% card_element | html %]&element_id=[% text_field.field_value | html %]"><i class="fa fa-trash"></i> Delete</a>
82                                     </td>
83                                     [% IF ( print ) %]<td><input type="checkbox" name="action" value="[% text_field.field_value | html %]" /></td>[% END %]
84                                 [% ELSIF ( text_field.field_value ) %]
85                                     <td>[% text_field.field_value | html %]</td>
86                                 [% ELSE %]
87                                     <td>&nbsp;</td>
88                                 [% END %]
89                                 [% END %]
90                                 </tr>
91                                 [% END %]
92                                 [% END %]
93                             </table>
94                             <fieldset class="action">
95                                 [% IF ( print ) %]<input type="button" id="print" value="Export selected batches" />[% END %]
96                             </fieldset>
97                             [% IF patron_lists %]
98                             <fieldset class="rows">
99                                 <legend>Or use a patron list</legend>
100                                 <ol>
101                                     <li>
102                                         <label for="patron_list_id">Patron list: </label>
103                                         <select id="patron_list_id" name="patron_list_id">
104                                             <option value=""></option>
105                                             [% FOREACH pl IN patron_lists %]
106                                                 <option value="[% pl.patron_list_id | html %]">[% pl.name | html %]</option>
107                                             [% END %]
108                                         </select>
109                                     </li>
110                                 </ol>
111                             </fieldset>
112                             <fieldset class="action">
113                                 <input type="button" id="printlist" value="Export from patron list" />
114                             </fieldset>
115                             [% END %]
116                             </form>
117
118                             [% ELSE %]
119                         <div class="dialog message">
120                             <h4>There are no [% PROCESS translate_card_element element=card_element_title %] currently available.</h4>
121                             <p>Use the toolbar above to create a new [% PROCESS translate_card_element element=card_element %].</p></div>
122                             [% END %]
123                         </div>
124                     </div>
125                 </div>
126             </div>
127             <div class="yui-b">
128               [% INCLUDE 'tools-menu.inc' %]
129             </div>
130         </div>
131
132 [% MACRO jsinclude BLOCK %]
133     [% INCLUDE 'greybox.inc' %]
134     <script>
135         function DeleteConfirm() {
136             var element_ids = selected_layouts("delete");
137
138             var msg;
139             if (element_ids.length > 1) {
140                 msg = _("Are you sure you want to delete %s %s?").format(element_ids.length, "[% PROCESS translate_card_elements element=card_element %]");
141             } else if (element_ids.length == 1) {
142                 msg = _("Are you sure you want to delete %s %s?").format("[% PROCESS translate_card_element element=card_element %]", element_ids[0]);
143             }
144
145             if (msg && confirm(msg)) {
146                 var elements = "";
147                 for (var i = 0; i < element_ids.length; i++) {
148                     if (element_ids[i] > -1) {
149                         elements += element_ids[i] + ","
150                     }
151                     else {
152                         return;     // no layout selected
153                     }
154                 }
155
156                 window.location = "/cgi-bin/koha/patroncards/manage.pl?op=delete&card_element=[% card_element | html %]&element_id=" + elements;
157             }
158             else {
159                 return; // abort delete
160             }
161
162         };
163
164         function Edit() {
165             var element_id = selected_layouts("edit");
166             if (element_id>-1) {
167                 window.location = "/cgi-bin/koha/patroncards/edit-[% card_element | html %].pl?op=edit&element_id=" + element_id;
168             }
169             else {
170                 return;     // no layout selected
171             };
172         };
173         function Xport() {
174             batches= new Array;
175             if(document.layouts.action.length > 0) {
176                 for (var i=0; i < document.layouts.action.length; i++) {
177                     if (document.layouts.action[i].checked) {
178                         batches.push("batch_id=" +  document.layouts.action[i].value);
179                     }
180                 }
181                 if (batches.length < 1) {
182                     alert(_("Please select at least one batch to export."));
183                     return;     // no batch selected
184                 }
185                 getstr = batches.join("&");
186             }
187             else if (document.layouts.action.checked) {
188                 getstr = "batch_id="+document.layouts.action.value;
189             }
190             else {
191                 alert(_("Please select at least one batch to export."));
192                 return;     // no batch selected
193             }
194             return GB_showCenter(_("Export patron cards"), "/cgi-bin/koha/patroncards/print.pl?" + getstr, 400, 800);
195         };
196
197         function XportPatronlist() {
198             if ( patron_list_id.value.length < 1 ) {
199                 alert(_("Please select a patron list."));
200                 return;     // no patron list selected
201             }
202             getstr = 'patronlist_id='+patron_list_id.value;
203             return GB_showCenter(_("Export patron cards from list"), "/cgi-bin/koha/patroncards/print.pl?" + getstr, 700, 800);
204         };
205
206         function selected_layout(op) {
207             if (document.layouts.action.length) {
208                 var selected = new Array();
209                 for (i=0;i<document.layouts.action.length;i++){
210                     if (document.layouts.action[i].checked){
211                         selected.push(i);
212                     }
213                 };
214                 if (selected.length == 1 || (op == "delete" && selected.length >= 1)) {
215                     if (op == "delete") {
216                         var selectedDelete = new Array;
217                         for (i = 0; i < selected.length; i++) {
218                             selectedDelete.push(document.layouts.action[selected[i]].value);
219                         }
220                         return(selectedDelete);
221                     } else {
222                         // op == 'edit' returns only the object and not list
223                         return(document.layouts.action[selected[0]].value);
224                     }
225                 }
226                 else if (selected.length < 1) {
227                     if (op == "edit") {
228                         alert(_("Please select one %s to %s.").format("[% PROCESS translate_card_element element=card_element %]", op));
229                     } else {
230                         alert(_("Please select at least one %s to %s.").format("[% PROCESS translate_card_element element=card_element %]", op));
231                     }
232                     return (-1);
233                 }
234                 else {
235                     alert(_("Please select only one %s to %s.").format("[% PROCESS translate_card_element element=card_element %]", op));
236                     return (-1);
237                 }
238             }
239             else {
240                 if (document.layouts.action.checked){
241                     return([document.layouts.action.value]);
242                 }
243             };
244             alert(_("Please select a %s.").format("[% PROCESS translate_card_element element=card_element %]"));
245             return (-1);
246         };
247
248         $(document).ready(function() {
249             $("#edit").click(function(){
250                 Edit();
251                 return false;
252             });
253             $("#delete").click(function(){
254                 DeleteConfirm();
255                 return false;
256             });
257             $("#print").click(function(){
258                 Xport();
259                 return false;
260             });
261             $("#printlist").click(function(){
262                 XportPatronlist();
263                 return false;
264             });
265             $(".delete").on("click", function(){
266                 return confirmDelete( _("Are you sure you want to delete this?") );
267             });
268             $(".export").on("click", function(e){
269                 e.preventDefault();
270                 var batch_id = $(this).data("batch-id");
271                 GB_showCenter( _("Export single batch"),'/cgi-bin/koha/patroncards/print.pl?batch_id='+batch_id, 400, 800);
272             });
273         });
274     </script>
275 [% END %]
276
277 [% INCLUDE 'intranet-bottom.inc' %]