Bug 14805: Allow the user to delete multiple batches
[koha.git] / koha-tmpl / intranet-tmpl / prog / en / modules / patroncards / manage.tt
1 [% BLOCK translate_card_element %]
2 [%-  SWITCH element -%]
3 [%-  CASE 'layout'    -%]layout
4 [%-  CASE 'Layouts'   -%]Layouts
5 [%-  CASE 'template'  -%]template
6 [%-  CASE 'Templates' -%]Templates
7 [%-  CASE 'profile'   -%]profile
8 [%-  CASE 'Profiles'  -%]Profiles
9 [%-  CASE 'batch'     -%]batch
10 [%-  CASE 'Batches'   -%]Batches
11 [%-  CASE 'Actions'   -%]Actions
12 [%-  END -%]
13 [% END %]
14
15     [% INCLUDE 'doc-head-open.inc' %]
16     <title>Koha &rsaquo; Tools &rsaquo; Patron card creator &rsaquo; [% PROCESS translate_card_element element=card_element_title %]</title>
17     [% INCLUDE 'doc-head-close.inc' %]
18     [% INCLUDE 'greybox.inc' %]
19     <script type="text/javascript">
20         //<![CDATA[
21             var MSG_CONFIRM_DELETE = _("Are you sure you want to delete this?");
22             function DeleteConfirm() {
23                 var element_ids = selected_layouts("delete");
24
25                 var answer;
26                 if (element_ids.length > 1) {
27                     var msg = _("Are you sure you want to delete %s batches?").format(element_ids.length);
28                     answer = confirm(msg);
29                 } else if (element_ids.length == 1) {
30                     var msg = _("Are you sure you want to delete %s %s?").format("[% PROCESS translate_card_element element=card_element %]", element_ids[0]);
31                     answer = confirm(msg);
32                 }
33
34                 if (answer) {
35                     var elements = "";
36                     for (var i = 0; i < element_ids.length; i++) {
37                         if (element_ids[i] > -1) {
38                             elements += element_ids[i] + ","
39                         }
40                         else {
41                             return;     // no layout selected
42                         }
43                     }
44
45                     window.location = "/cgi-bin/koha/patroncards/manage.pl?op=delete&card_element=[% card_element %]&element_id=" + elements;
46                 }
47                 else {
48                     return; // abort delete
49                 }
50
51             };
52
53             function Edit() {
54                 var element_id = selected_layouts("edit");
55                 if (element_id>-1) {
56                     window.location = "/cgi-bin/koha/patroncards/edit-[% card_element %].pl?op=edit&element_id=" + element_id;
57                 }
58                 else {
59                     return;     // no layout selected
60                 };
61             };
62             function Xport() {
63                 batches= new Array;
64                 if(document.layouts.action.length > 0) {
65                     for (var i=0; i < document.layouts.action.length; i++) {
66                         if (document.layouts.action[i].checked) {
67                             batches.push("batch_id=" +  document.layouts.action[i].value);
68                         }
69                     }
70                     if (batches.length < 1) {
71                         alert(_("Please select at least one batch to export."));
72                         return;     // no batch selected
73                     }
74                     getstr = batches.join("&");
75                 }
76                 else if (document.layouts.action.checked) {
77                     getstr = "batch_id="+document.layouts.action.value;
78                 }
79                 else {
80                     alert(_("Please select at least one batch to export."));
81                     return;     // no batch selected
82                 }
83                 return GB_showCenter(_("Export patron cards"), "/cgi-bin/koha/patroncards/print.pl?" + getstr, 700, 800);
84             };
85             function selected_layouts(op) {
86                 var selected = new Array;
87                 if (document.layouts.action.length) {
88                     for (i=0;i<document.layouts.action.length;i++){
89                         if (document.layouts.action[i].checked){
90                             selected.push(i);
91                         }
92                     };
93                     if (selected.length == 1 || (op == "delete" && selected.length >= 1)) {
94                         if (op == "delete") {
95                             var selectedDelete = new Array;
96                             for (i = 0; i < selected.length; i++) {
97                                 selectedDelete.push(document.layouts.action[selected[i]].value);
98                             }
99                             return(selectedDelete);
100                         } else {
101                             // op == 'edit' returns only the object and not list
102                             return(document.layouts.action[selected[0]].value);
103                         }
104                     }
105                     else if (selected.length < 1) {
106                         if (op == "edit") {
107                             alert(_("Please select one %s to %s.").format("[% PROCESS translate_card_element element=card_element %]", op));
108                             return (-1);
109                         } else {
110                             alert(_("Please select at least one %s to %s.").format("[% PROCESS translate_card_element element=card_element %]", op));
111                             return (-1);
112                         }
113                     }
114                     else {
115                         alert(_("Please select only one %s to %s.").format("[% PROCESS translate_card_element element=card_element %]", op));
116                         return (-1);
117                     }
118                 }
119                 else {
120                     if (document.layouts.action.checked){
121                         return(document.layouts.action.value);
122                     }
123                 };
124                 alert(_("Please select a %s.").format("[% PROCESS translate_card_element element=card_element %]"));
125                 return (-1);
126             };
127
128         $(document).ready(function() {
129             $("#edit").click(function(){
130                 Edit();
131                 return false;
132             });
133             $("#delete").click(function(){
134                 DeleteConfirm();
135                 return false;
136             });
137             $("#print").click(function(){
138                 Xport();
139                 return false;
140             });
141          });
142 //]]>
143 </script>
144 </head>
145 <body id="pcard_manage" class="tools pcard">
146     [% INCLUDE 'header.inc' %]
147     [% INCLUDE 'cat-search.inc' %]
148     <div id="breadcrumbs">
149         <a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo;
150         <a href="/cgi-bin/koha/tools/tools-home.pl">Tools</a> &rsaquo;
151         <a href="/cgi-bin/koha/patroncards/home.pl">Patron card creator</a> &rsaquo;
152         [% PROCESS translate_card_element element=card_element_title %]
153     </div>
154     <div id="doc3" class="yui-t2">
155         <div id="bd">
156             <div id="yui-main">
157                 <div class="yui-b">
158                     [% INCLUDE 'patroncards-toolbar.inc' %]
159                     [% INCLUDE 'patroncards-errors.inc' %]
160                     <div class="yui-gc">
161                         <div class="yui-u first" id="manage-patroncards-layouts">
162                             <div class="hint">Current library: [% LoginBranchname %]</div>
163                             [% IF ( table_loop ) %]
164                             <form name="layouts" action="/cgi-bin/koha/manage.pl?card_element=[% card_element %]">
165                             <h2>Currently available [% PROCESS translate_card_element element=card_element_title FILTER lower %]</h2>
166                             <table>
167                                 [% FOREACH table_loo IN table_loop %]
168                                 [% IF ( table_loo.header_fields ) %]
169                                 <tr>
170                                 [% FOREACH header_field IN table_loo.header_fields %]
171                                     [% SWITCH header_field.field_label -%]
172                                         [% CASE "Select" -%]
173                                              [% IF ( print ) %]<th>Select</th>[% END %]
174                                         [% CASE %]
175                                              <th>[% header_field.field_label %]</th>
176                                         [% END -%]
177                                 [% END %]
178                                 </tr>
179                                 [% ELSE %]
180                                 <tr>
181                                 [% FOREACH text_field IN table_loo.text_fields %]
182                                 [% IF ( text_field.select_field ) %]
183                                     <td>
184                                       <a class="btn btn-mini" href="/cgi-bin/koha/patroncards/edit-[% card_element %].pl?op=edit&element_id=[% text_field.field_value %]"><icon class="fa fa-edit"></icon> Edit</a>
185                                       [% IF ( print ) %]<a class="btn btn-mini" href="#" onclick="GB_showCenter('Export single batch','/cgi-bin/koha/patroncards/print.pl?batch_id=[% text_field.field_value |url %]')"><icon class="fa fa-share-square-o"></icon> Export</a>[% END %]
186                                       <a class="btn btn-mini" onclick="return confirm(MSG_CONFIRM_DELETE);" href="/cgi-bin/koha/patroncards/manage.pl?op=delete&card_element=[% card_element %]&element_id=[% text_field.field_value %]"><icon class="fa fa-trash"></icon> Delete</a>
187                                     </td>
188                                     [% IF ( print ) %]<td align="center"><input type="checkbox" name="action" value="[% text_field.field_value %]" /></td>[% END %]
189                                 [% ELSIF ( text_field.field_value ) %]
190                                     <td>[% text_field.field_value %]</td>
191                                 [% ELSE %]
192                                     <td>&nbsp;</td>
193                                 [% END %]
194                                 [% END %]
195                                 </tr>
196                                 [% END %]
197                                 [% END %]
198                             </table>
199                             <fieldset class="action">
200                                 [% IF ( print ) %]<input class="btn btn-sm" type="button" id="print" value="Export selected batches" />[% END %]
201                             </fieldset>
202                             </form>
203                             [% ELSE %]
204                         <div class="dialog message">
205                             <h4>There are no [% PROCESS translate_card_element element=card_element_title %] currently available.</h4>
206                             <p>Use the toolbar above to create a new [% PROCESS translate_card_element element=card_element %].</p></div>
207                             [% END %]
208                         </div>
209                     </div>
210                 </div>
211             </div>
212         </div>
213     [% INCLUDE 'intranet-bottom.inc' %]