Merge remote-tracking branch 'origin/new/bug_7889'
[koha.git] / koha-tmpl / intranet-tmpl / prog / en / modules / tools / modborrowers.tt
1 [% USE KohaDates %]
2 [% INCLUDE 'doc-head-open.inc'%]
3 <title>Koha &rsaquo; Tools &rsaquo; [% IF ( del ) %]Batch item deletion[% ELSE %]Batch item modification[% END %] </title>
4 [% INCLUDE 'doc-head-close.inc' %]
5 [% INCLUDE 'calendar.inc' %]
6 <script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.tablesorter.min.js"></script>
7 <script type="text/JavaScript" language="JavaScript">
8 //<![CDATA[
9         var patron_attributes_lib = new Array();
10         var patron_attributes_values = new Array();
11         $(document).ready(function() {
12             $("#borrowerst").tablesorter();
13
14             $("#selectallbutton").click(function() {
15                 $("#borrowerst").find("input:checkbox").each(function() {
16                     $(this).attr("checked", true);
17                 });
18                 return false;
19             });
20             $("#clearallbutton").click(function() {
21                 $("#borrowerst").find("input:checkbox").each(function() {
22                     $(this).attr("checked", false);
23                 });
24                 return false;
25             });
26
27             var values = new Array();
28             var lib = new Array();
29             [% FOREACH pav IN patron_attributes_values %]
30                 values = new Array();
31                 lib = new Array();
32                 [% FOREACH option IN pav.options %]
33                     values.push("[% option.lib %]");
34                     lib.push("[% option.authorised_value %]");
35                 [% END %]
36                 patron_attributes_lib["[% pav.attribute_code %]"] = values;
37                 patron_attributes_values["[% pav.attribute_code %]"] = lib;
38             [% END %]
39
40             $('select[name="patron_attributes"]').change(function() {
41                 updateAttrValues(this);
42             } );
43
44             $('select[name="patron_attributes"]').change();
45
46         } );
47
48         function updateAttrValues (select_attr) {
49             var attr_code = $(select_attr).val();
50             var type = $(select_attr).find("option:selected").attr('data-type');
51             var category = $(select_attr).find("option:selected").attr('data-category');
52             var span = $(select_attr).parent().parent().find('span.patron_attributes_value');
53             var information_category_node = $(select_attr).parent().parent().find('span.information_category');
54             information_category_node.html("");
55             if ( category.length > 0 ) {
56                 information_category_node.html('This attribute will be only applied to the borrower\'s category "' + category + '"');
57             }
58             if ( type == 'select' ) {
59                 var options = '<option value = ""></option>';
60                 for ( var i = 0 ; i < patron_attributes_values[attr_code].length ; i++ ) {
61                     options += '<option value="'+patron_attributes_values[attr_code][i]+'">'+patron_attributes_lib[attr_code][i]+'</option>';
62                 }
63                 span.html('<select name="patron_attributes_value">' + options + '</select>');
64             } else {
65                 span.html('<input type="text" name="patron_attributes_value"/>')
66             }
67         }
68
69         function add_attributes() {
70             var li_node = $("li.attributes:last");
71             var li_clone = $(li_node).clone();
72             if ( $(li_clone).find("a.delete").length == 0 ) {
73                 $(li_clone).append('[<a href="#" title="Delete" class="delete" onclick="del_attributes(this);return false;">X</a>]');
74             }
75             $(li_clone).find('select[name="patron_attributes"]').change(function() {
76                 updateAttrValues(this);
77             } );
78
79             $(li_clone).find('select[name="patron_attributes"]').change();
80
81             $("#fields_list>ol").append(li_clone);
82             update_attr_values();
83         }
84
85         function del_attributes(a_node) {
86             $(a_node).parent('li').remove();
87             update_attr_values();
88         }
89
90         function update_attr_values() {
91             $("li.attributes").each(function(i) {
92                 $(this).find("input:checkbox").val("attr"+i+"_value");
93             });
94         }
95         function clearDate(nodeid) {
96             $("#"+nodeid).val("");
97         }
98
99 //]]>
100 </script>
101 </head>
102 <body>
103 [% INCLUDE 'header.inc' %]
104 [% INCLUDE 'cat-search.inc' %]
105
106 <div id="breadcrumbs">
107     <a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo;
108     <a href="/cgi-bin/koha/tools/tools-home.pl">Tools</a> &rsaquo;
109     <a href="/cgi-bin/koha/tools/modborrowers.pl">Patrons modification</a>
110 </div>
111
112 <div id="doc3" class="yui-t2">
113     <div id="bd">
114         <div id="yui-main">
115             <div class="yui-b">
116                 [% IF ( op == 'show_form' ) %]
117                 <h1>Batch patrons modification</h1>
118                 <form method="post" enctype="multipart/form-data" action="/cgi-bin/koha/tools/modborrowers.pl">
119                     <fieldset class="rows">
120                     <legend>Use a file</legend>
121                     <label for="uploadfile">File: </label> <input type="file" id="uploadfile" name="uploadfile" />
122                     </fieldset>
123                     <fieldset class="rows">
124                         <legend>Or list cardnumbers one by one</legend>
125                         <ol>
126                             <li>
127                               <label for="cardnumberlist">Carnumber list (one cardnumber per line): </label>
128                               <textarea rows="10" cols="30" id="cardnumberlist" name="cardnumberlist">[% cardnumberlist %]</textarea>
129                             </li>
130                         </ol>
131                     </fieldset>
132                     <input type="hidden" name="op" value="show" />
133                     <fieldset class="action">
134                         <input type="submit" value="Continue" class="button" />
135                         <a class="cancel" href="/cgi-bin/koha/tools/tools-home.pl">Cancel</a>
136                     </fieldset>
137                 </form>
138                 [% END %]
139
140                 [% IF ( op == 'show' or op == 'show_results' ) %]
141                     [% IF ( op == 'show' ) %]
142                         <h1>Batch patrons modification</h1>
143                     [% ELSE %]
144                         <h1>Batch patrons results</h1>
145                     [% END %]
146                     [% IF ( notfoundcardnumbers ) %]
147                         <div class="dialog alert"><p>Warning, the following cardnumbers were not found:</p></div>
148                         <table style="margin:auto;">
149                             <thead>
150                                 <tr><th>Cardnumbers not found</th></tr>
151                             </thead>
152                             <tbody>
153                                 [% FOREACH notfoundcardnumber IN notfoundcardnumbers %]
154                                     <tr><td>[% notfoundcardnumber.cardnumber %]</td></tr>
155                                 [% END %]
156                             </tbody>
157                         </table>
158                     [% END %]
159
160                     [% IF ( op == 'show_results' ) %]
161                         [% IF ( errors ) %]
162                             Errors occured :
163                             <ul class="warnings">
164                             [% FOREACH error IN errors %]
165                                 [% IF ( error.error == 'can_not_update' ) %]
166                                     <li>Can not update borrower with borrowernumber [% error.borrowernumber %]</li>
167                                 [% ELSE %]
168                                     <li>[% error.error %]</li>
169                                 [% END %]
170                             [% END %]
171                             </ul>
172                         [% END %]
173                         <br/>
174                     [% END %]
175
176                     [% IF ( op == 'show' ) %]
177                     <form name="f" action="modborrowers.pl" method="post">
178                         <input type="hidden" name="op" value="do" />
179                         [% IF ( borrowers ) %]
180                             <div id="toolbar"><a id="selectallbutton" href="#">Select All</a> | <a id="clearallbutton" href="#">Clear All</a></div>
181                         [% END %]
182                     [% END %]
183                             <div id="cataloguing_additem_itemlist">
184                                 <div style="overflow:auto">
185                                     <table id="borrowerst">
186                                         <thead>
187                                             <tr>
188                                                 [% IF ( op == 'show' ) %]
189                                                     <th>&nbsp;</th>
190                                                 [% END %]
191                                                 <th>Surname</th>
192                                                 <th>Firstname</th>
193                                                 <th>Branchname</th>
194                                                 <th>Categorycode</th>
195                                                 <th>Cardnumber</th>
196                                                 <th>dateenrolled</th>
197                                                 <th>dateexpiry</th>
198                                                 <th>debarred</th>
199                                                 [% FOREACH attrh IN attributes_header %]
200                                                     <th>[% attrh.attribute %]</th>
201                                                 [% END %]
202                                             </tr>
203                                         </thead>
204                                         <tbody>
205                                             [% FOREACH borrower IN borrowers %]
206                                                 <tr>
207                                                     [% IF ( op == 'show' ) %]
208                                                         <td><input type="checkbox" name="borrowernumber" value="[% borrower.borrowernumber %]" checked="checked" /></td>
209                                                     [% END %]
210                                                     <td>[% borrower.surname %]</td>
211                                                     <td>[% borrower.firstname %]</td>
212                                                     <td>[% borrower.branchname %]</td>
213                                                     <td>[% borrower.categorycode %]</td>
214                                                     <td>[% borrower.cardnumber %]</td>
215                                                     <td>[% borrower.dateenrolled | $KohaDates %]</td>
216                                                     <td>[% borrower.dateexpiry | $KohaDates %]</td>
217                                                     <td>[% borrower.debarred | $KohaDates %]</td>
218                                                     [% FOREACH pa IN borrower.patron_attributes %]
219                                                         [% IF ( pa.code ) %]
220                                                             <td>[% pa.code %]=[% pa.value %]</td>
221                                                         [% ELSE %]
222                                                             <td></td>
223                                                         [% END %]
224                                                     [% END %]
225                                                 </tr>
226                                             [% END %]
227                                         </tbody>
228                                     </table>
229                                 </div>
230                             </div>
231
232                             [% IF ( op == 'show' ) %]
233                             <div id="cataloguing_additem_newitem">
234                                 <h2>Edit Patrons</h2>
235                                 <div class="hint">Checking the box right next the label will disable the entry and delete the values of that field on all selected patrons</div>
236                                 <fieldset class="rows" id="fields_list">
237                                     <ol>
238                                         [% FOREACH field IN fields %]
239                                         <li>
240                                             <label style="width:20em;">[% field.lib %]</label>
241                                             [% IF field.mandatory %]
242                                                 <input type="checkbox" title="This field is mandatory" name="disable_input" value="[% field.name %]" readonly="readonly" onclick="return false;" />
243                                             [% ELSE %]
244                                                 <input type="checkbox" title="Check to delete this field" name="disable_input" value="[% field.name %]" />
245                                             [% END %]
246                                             [% IF ( field.type == 'text' ) %]
247                                                 <input type="text" name="[% field.name %]" value="" />
248                                             [% END %]
249                                             [% IF ( field.type == 'select' ) %]
250                                                 [% IF field.option.size %]
251                                                     <select name="[% field.name %]" >
252                                                         [% FOREACH opt IN field.option %]
253                                                             <option value="[% opt.value %]">[% opt.lib %]</option>
254                                                         [% END %]
255                                                     </select>
256                                                 [% ELSE %]
257                                                     There is no value defined for [% field.name %]
258                                                 [% END %]
259                                             [% END %]
260                                             [% IF ( field.type == 'date' ) %]
261                                                 <input type="text" name="[% field.name %]" id="[% field.name %]" value="" size="10" maxlength="10" readonly="readonly" class="datepicker" />
262                                                 <a href="#" onclick="clearDate('[% field.name %]');return false;">X</a>
263                                                 [% END %]
264                                         </li>
265                                         [% END %]
266                                         [% IF ( patron_attributes_codes ) %]
267                                             <li class="attributes">
268                                                 <label style="width:20em;">Attribute
269                                                     <select name="patron_attributes">
270                                                         [% FOREACH pac IN patron_attributes_codes %]
271                                                             <option value="[% pac.attribute_code %]" data-type="[% pac.type %]" data-category="[% pac.category_lib %]">[% pac.attribute_lib %]</option>
272                                                         [% END %]
273                                                     </select>
274                                                 </label>
275                                                 <input type="checkbox" title="check to delete this field" name="disable_input" value="attr0_value" />
276                                                 <span class="patron_attributes_value"></span>
277                                                 <a href="#" title="Add an attribute" onclick="add_attributes(); return false;">+</a>
278                                                 <span class="information_category"></span>
279                                             </li>
280                                         [% END %]
281                                     </ol>
282                                 </fieldset>
283                                 <fieldset class="action">
284                                     <input type="submit" name="mainformsubmit" value="Save" />
285                                     <a href="/cgi-bin/koha/tools/modborrowers.pl" class="cancel">Cancel</a>
286                                 </fieldset>
287                             </div>
288                         </form>
289                         [% END %]
290                 [% END %]
291                 [% IF ( op == 'show_results' ) %]
292                     <br/>
293                     <a href="/cgi-bin/koha/tools/modborrowers.pl" title="new Batch patrons modification">new Batch patrons modification</a>
294                 [% END %]
295             </div>
296             </div>
297             <div class="yui-b">
298                 [% INCLUDE 'tools-menu.inc' %]
299             </div>
300         </div>
301     </div>
302 </div>
303 </body>
304 </html>