Bug 10887: Batch item deletion -- doesn't need Use default values section
[koha.git] / koha-tmpl / intranet-tmpl / prog / en / modules / reserve / request.tt
1 [% USE KohaDates %]
2 [% INCLUDE 'doc-head-open.inc' %]
3 [% UNLESS ( multi_hold ) %]
4     <title>Koha &rsaquo; Circulation &rsaquo; Holds &rsaquo; Place a hold on [% title |html %]</title>
5 [% ELSE %]
6     <title>Koha &rsaquo; Circulation &rsaquo; Holds &rsaquo; Confirm holds</title>
7 [% END %]
8 [% INCLUDE 'doc-head-close.inc' %]
9 <link rel="stylesheet" type="text/css" href="[% themelang %]/css/datatables.css" />
10 [% INCLUDE 'datatables.inc' %]
11 [% INCLUDE 'calendar.inc' %]
12 <script type="text/javascript">
13     // <![CDATA[
14 var MSG_CONFIRM_DELETE_HOLD   = _("Are you sure you want to cancel this hold?");
15 var patron_homebranch = "[% borrower_branchname |replace("'", "\'") |replace('"', '\"') |replace('\n', '\\n') |replace('\r', '\\r') %]";
16 var override_items = {[% FOREACH bibitemloo IN bibitemloop %][% FOREACH itemloo IN bibitemloo.itemloop %][% IF ( itemloo.override ) %]
17     [% itemloo.itemnumber %]: {
18         homebranch: "[% itemloo.homebranchname |replace("'", "\'") |replace('"', '\"') |replace('\n', '\\n') |replace('\r', '\\r') %]",
19         holdallowed: [% itemloo.holdallowed %]
20     },
21 [% END %][% END %][% END %]
22 };
23 var MSG_NO_ITEMS_AVAILABLE = _("A hold cannot be requested on any of these items.");
24
25 $(document).ready(function() {
26     [% IF AutoResumeSuspendedHolds %]
27         $(".suspend_until_datepicker, .datepickerfrom, .datepickerto").datepicker("option", "minDate", 1);
28     [% END %]
29
30     var table = $("#table_borrowers").dataTable($.extend(true, {}, dataTablesDefaults, {
31         "aoColumnDefs": [
32             { "aTargets": [ 0 ], "bSortable": false, "bSearchable": false },
33         ],
34         "aaSorting": [[ 2, "asc" ]],
35         "sDom": "t",
36         "iDisplayLength": -1
37     }));
38     $(table).find('tbody tr').filter(':has(:radio:checked)').end().click(function(event) {
39         $('#table_borrowers tbody tr').removeClass('selected');
40         $(this).addClass('selected');
41         if (event.target.type !== 'radio') {
42             $(':radio', this).attr('checked', 'true')
43         }
44     });
45
46 });
47
48 function check() {
49         var msg = "";
50         var count_reserv = 0;
51         var alreadyreserved = 0;
52
53     // check if we have checkitem form
54     if (document.form.checkitem){
55         for (i=0;i<document.form.checkitem.length;i++){
56             if (document.form.checkitem[i].checked == true) {
57                                 count_reserv++ ;
58                         }
59         }
60         // for only one item, check the checkitem without consider the loop checkitem
61         if (i==0){
62                     if (document.form.checkitem.checked == true) {
63                             count_reserv++;
64                     }
65             }
66     }
67
68     if (document.form.request.checked == true){
69                 count_reserv++ ;
70     }
71
72     if (document.form.alreadyreserved && document.form.alreadyreserved.value == "1"){
73                  alreadyreserved++ ;
74     }
75
76     if (count_reserv == "0"){
77                 msg += (_("- Please select an item to place a hold") + "\n");
78     }
79     if (count_reserv >= "2"){
80                 msg += (_("- You may only place a hold on one item at a time") + "\n");
81     }
82
83     if (alreadyreserved > "0"){
84                 msg += (_("- This patron had already placed a hold on this item") + "\n" + _("Please cancel the previous hold first") + "\n");
85     }
86
87         if (msg == "") return(true);
88         else    {
89                 alert(msg);
90                 return(false);
91         }
92 }
93
94 function checkMultiHold() {
95     var spans = $(".multi_hold_item");
96     if ($(spans).size() == 0) {
97         alert(MSG_NO_ITEMS_AVAILABLE);
98         return false;
99     }
100
101     var biblionumbers = "";
102     $(spans).each(function() {
103         var bibnum = $(this).attr("title");
104         biblionumbers += bibnum + "/";
105     });
106
107     var badSpans = $(".not_holdable");
108     var badBibs = "";
109     $(badSpans).each(function() {
110         var bibnum = $(this).attr("title");
111         badBibs += bibnum + "/";
112     });
113
114     $("#multi_hold_bibs").val(biblionumbers);
115     $("#bad_bibs").val(badBibs);
116
117     return true;
118 }
119
120  $(document).ready(function() {
121     $("input.needsoverride").click(function() { // This must be before the radio button/checkbox switch logic
122         var itemnumber = this.value;
123         var msg = '';
124
125         switch (override_items[itemnumber].holdallowed) {
126             case 0: msg = _("This item normally cannot be put on hold."); break;
127             case 1: msg = _("This item normally cannot be put on hold except for patrons from %s.").format(override_items[itemnumber].homebranch); break;
128         }
129
130         msg += "\n\n" + _("Place hold on this item?");
131
132         return confirm(msg);
133     });
134     $("input.warning").click(function() {
135         return confirm( _("None of these items can normally be put on hold for this patron.") + "\n\n" + _("Place hold?") );
136     });
137         $("#requestany").click(function() {
138                 if(this.checked){
139                 $("input[name=checkitem]").each(function() {
140             $(this).removeAttr("checked");
141                 });
142                 }
143         });
144         $("input[name=checkitem]").click(function() {
145                 onechecked = 0;
146                 $("input[name=checkitem]").each(function() {
147                         if(this.checked){
148                                 onechecked = 1;
149                         }
150                 });
151                 if(onechecked == 1){
152             $("#requestany").removeAttr("checked");
153                 } else {
154                         $("#requestany").attr("checked","checked");
155                 }
156         });
157
158     $(".clear-date").on("click",function(e){
159         e.preventDefault();
160         var fieldID = this.id.replace("clear-date-","");
161         $("#" + fieldID).val("");
162     });
163
164     $('#hold-request-form').preventDoubleFormSubmit();
165
166 [% UNLESS ( borrowernumber || borrowers || noitems ) %]
167     [% IF ( CircAutocompl ) %]
168     $( "#patron" ).autocomplete({
169         source: "/cgi-bin/koha/circ/ysearch.pl",
170         minLength: 3,
171         select: function( event, ui ) {
172             $( "#patron" ).val( ui.item.cardnumber );
173             $( "#holds_patronsearch" ).submit();
174             return false;
175         }
176     })
177     .data( "ui-autocomplete" )._renderItem = function( ul, item ) {
178         return $( "<li></li>" )
179         .data( "ui-autocomplete-item", item )
180         .append( "<a>" + item.surname + ", " + item.firstname +
181                  " (" + item.cardnumber + ") <small>" + item.address +
182                  " " + item.city + " " + item.zipcode + " " +
183                  item.country + "</small></a>" )
184         .appendTo( ul );
185     };
186     [% END %]
187 [% END %]
188
189  });
190
191 // ]]>
192 </script>
193 </head>
194 <body id="circ_request" class="catalog">
195 [% INCLUDE 'header.inc' %]
196 [% INCLUDE 'circ-search.inc' %]
197
198 [% UNLESS ( multi_hold ) %]
199     <div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo; <a href="/cgi-bin/koha/catalogue/search.pl">Catalog</a> &rsaquo; <a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% biblionumber %]">[% title |html %]</a> &rsaquo; Place a hold on [% title |html %]</div>
200 [% ELSE %]
201     <div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo; <a href="/cgi-bin/koha/catalogue/search.pl">Catalog</a> &rsaquo; Confirm holds</div>
202 [% END %]
203
204  <div id="doc3" class="yui-t2">
205
206    <div id="bd">
207         <div id="yui-main">
208         <div class="yui-b">
209 [% IF ( noitems ) %]
210     <div class="dialog alert">
211     [%IF (multi_hold) %]
212         <strong>Cannot place hold:</strong> one or more records without items attached.
213     [% ELSE %]
214         <strong>Cannot place hold:</strong> this record has no items attached.
215     [% END %]
216     </ div>
217 [% ELSE %]
218   [% IF ( messagetransfert ) %]
219                 <div class="dialog message">
220                                 <h2>Hold found for ([% nextreservtitle %]), please transfer</h2>
221                         <p>Hold placed by : <strong> [% nextreservsurname %] [% nextreservfirstname %]</strong> at : <strong> [% branchname %] </strong>, Please transfer this item.
222                         </p>
223                         <form name="cancelReservewithtransfert" action="branchreserves.pl" method="post">
224                                 <input type="submit" class="button" />
225                         </form>
226                 </div>
227   [% END %]
228
229   [% UNLESS ( multi_hold ) %]
230     <h1>Place a hold on [% INCLUDE 'biblio-default-view.inc' %][% title |html %]</a></h1>
231   [% ELSE %]
232     <h1>Confirm holds</h1>
233   [% END %]
234
235   [% UNLESS ( borrowernumber ) %]
236     [% IF ( messageborrower ) %]
237       <div class="dialog alert"><h3>Patron not found</h3><p>No patron with this name, please, try another</p> </div>
238     [% END %]
239     <form  id="holds_patronsearch" action="request.pl?biblionumber=[% biblionumber %]" method="post">
240         [% UNLESS borrowers %]
241             <fieldset class="brief">
242                 <label for="patron">Patron: </label>
243                 <div class="hint">Enter patron card number or partial name:</div>
244                 <input type="text" size="40" id="patron" class="focus" name="findborrower" />
245                 <input type="submit" value="Search" />
246                 <input type="hidden" name="biblionumber" value="[% biblionumber %]" />
247             </fieldset>
248         [% ELSE %]
249           <fieldset>
250             <table id="table_borrowers">
251                 <thead>
252                     <tr>
253                         <th></th>
254                         <th>Name</th>
255                         <th>Cardnumber</th>
256                         <th>Category</th>
257                         <th>Library</th>
258                         <th>Address</th>
259                     </tr>
260                 </thead>
261                 <tbody>
262                     [% FOREACH borrower IN borrowers %]
263                     <tr>
264                         <td><input type="radio" name="borrowernumber" value="[% borrower.borrowernumber %]" /></td>
265                         <td>[% borrower.surname %], [% borrower.firstname %]</td>
266                         <td>[% borrower.cardnumber %]</td>
267                         <td>[% borrower.categorycode %]</td>
268                         <td>[% borrower.branchcode %]</td>
269                         <td>[% borrower.address %]</td>
270                     </tr>
271                     [% END %]
272                 </tbody>
273             </table>
274             <input type="hidden" name="biblionumber" value="[% biblionumber %]" />
275             <fieldset class="action"><input type="submit" value="Select" /></fieldset>
276           </fieldset>
277
278         [% END %]
279         [% IF ( multi_hold ) %]
280             <input type="hidden" name="multi_hold" value="[% multi_hold %]"/>
281             <input type="hidden" name="biblionumbers" value="[% biblionumbers %]"/>
282         [% END %]
283     </form>
284   [% ELSE %]
285
286 [% IF ( maxreserves || alreadyreserved || none_available || alreadypossession || ageRestricted ) %]
287     <div class="dialog alert">
288
289     [% UNLESS ( multi_hold ) %]
290       <h3>Cannot place hold</h3>
291           <ul>
292         [% IF ( maxreserves ) %]
293           <li><strong>Too many holds: </strong> <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% borrowernumber %]">[% borrowerfirstname %] [% borrowersurname %] </a> has too many holds.</li>
294         [% END %]
295         [% IF ( ageRestricted ) %]
296           <li><strong>Age restricted</strong></li>
297         [% END %]
298         [% IF ( alreadyreserved ) %]
299           <li><a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% borrowernumber %]">[% borrowerfirstname %] [% borrowersurname %]</a> <strong>already has a hold</strong> on this item </li>
300         [% END %]
301         [% IF ( none_available ) %]
302           <li> <strong>No items are available</strong> to be placed on hold</li>
303         [% END %]
304         [% IF ( alreadypossession ) %]
305           <li> <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% borrowernumber %]">[% borrowerfirstname %] [% borrowersurname %]</a> <strong>is already in possession</strong> of one item</li>
306         [% END %]
307           </ul>
308     [% ELSE %]
309       <h3>Cannot place hold on some items</h3>
310     [% END %]
311
312     </div>
313 [% END %]
314
315 [% IF ( expiry || diffbranch ) %]
316 <div class="dialog message"><ul>
317     [% IF ( expiry ) %]
318     <li><a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% borrowernumber %]">[% borrowerfirstname %] [% borrowersurname %]</a>'s <strong>account has expired</strong></li>
319     [% END %]
320
321     [% IF ( diffbranch ) %]
322     <li> <strong>Pickup library is different</strong> than <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% borrowernumber %]">[% borrowerfirstname %] [% borrowersurname %]</a>'s home library ([% borrower_branchname %] / [% borrower_branchcode %] )</li>
323     [% END %]
324
325 </ul></div>
326 [% END %]
327
328   [% IF ( messageborrower ) %]
329    <div class="dialog alert"><h3>Patron not found:</h3> <p>Name or barcode not found. Please try an other </p></div>
330   [% END %]
331
332   <fieldset class="rows left">
333     <legend>Hold details</legend>
334         [% UNLESS ( multi_hold ) %]
335             <form action="placerequest.pl" method="post" onsubmit="return check();" name="form" id="hold-request-form">
336         [% ELSE %]
337             <form action="placerequest.pl" method="post" onsubmit="return checkMultiHold();" name="form">
338         [% END %]
339
340         <input type="hidden" name="borrowernumber" value="[% borrowernumber %]" />
341         <input type="hidden" name="type" value="str8" />
342
343         [% IF ( multi_hold ) %]
344             <input type="hidden" name="multi_hold" value="[% multi_hold %]"/>
345             <input type="hidden" name="biblionumbers" id="multi_hold_bibs" value="[% biblionumbers %]"/>
346             <input type="hidden" name="bad_bibs" id="bad_bibs" value=""/>
347             <input type="hidden" name="request" value="any"/>
348             [% FOREACH biblioloo IN biblioloop %]
349               <input type="hidden" name="title_[% biblioloo.biblionumber %]" value="[% biblioloo.title |html %]"/>
350               <input type="hidden" name="rank_[% biblioloo.biblionumber %]" value="[% biblioloo.rank %]"/>
351             [% END %]
352         [% ELSE %]
353             <input type="hidden" name="biblionumber" value="[% biblionumber %]" />
354             <input type="hidden" name="title" value="[% title |html %]" />
355             <input type="hidden" name="rank-request" value="[% fixedRank %]" />
356         [% END %]
357
358        <ol> <li><span class="label">Patron:</span>
359             [% IF ( borrowernumber ) %]
360                 <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% borrowernumber %]">[% borrowerfirstname %] [% borrowersurname %] ([% cardnumber %])</a>
361             [% ELSE %]
362                 Not defined yet
363             [% END %]
364         </li>
365         [% UNLESS ( multi_hold ) %]
366           <li>
367               <span class="label">Priority:</span>
368               <strong>[% fixedRank %]</strong>
369           </li>
370         [% END %]
371         <li>
372             <label for="holdnotes">Notes:</label>
373             <textarea id="holdnotes" name="notes" cols="30" rows="1"></textarea>
374         </li>
375         <li>
376             <label for="pickup">Pickup at:</label>
377             <select name="pickup" size="1" id="pickup">
378             [%- FOREACH branchloo IN branchloop %]
379               [% IF ( branchloo.selected ) -%]
380                 <option value="[% branchloo.branchcode %]" selected="selected">[% branchloo.branchname %]</option>
381               [%- ELSE -%]
382                 <option value="[% branchloo.branchcode %]">[% branchloo.branchname %]</option>
383               [%- END -%]
384             [%- END %]
385             </select>
386         </li>
387
388         [% IF ( reserve_in_future ) %]
389         <li>
390         <label for="from">Hold starts on date:</label>
391         <input name="reserve_date" id="from" size="10" readonly="readonly" class="datepickerfrom">
392         <a href="#" id="clear-date-from" class="clear-date">Clear date</a>
393         </li>
394         [% END %]
395
396         <li>
397         <label for="to">Hold expires on date:</label>
398         <input name="expiration_date" id="to" size="10" readonly="readonly" class="datepickerto" />
399         <a href="#" id="clear-date-to" class="clear-date">Clear date</a>
400         </li>
401
402         [% UNLESS ( multi_hold ) %]
403           <li> <label for="requestany">Place a hold on the next available item </label>
404                <input type="checkbox" id="requestany" name="request" checked="checked" value="Any" />
405                <input type="hidden" name="biblioitem" value="[% biblioitemnumber %]" />
406                <input type="hidden" name="alreadyreserved" value="[% alreadyreserved %]" />
407           </li>
408         [% END %]
409
410 </ol>
411    [% UNLESS ( multi_hold ) %]
412         <fieldset class="action">
413             [% IF ( borrowernumber ) %]
414                 [% IF ( override_required ) %]
415                     <input type="submit" class="warning" value="Place hold" />
416                 [% ELSIF ( none_available ) %]
417                     <input type="submit" disabled="disabled" value="Place hold" />
418                 [% ELSE %]
419                     <input type="submit" value="Place hold" />
420                 [% END %]
421             [% END %]
422         </fieldset>
423         [% FOREACH bibitemloo IN bibitemloop %]
424           <ol>
425             [% UNLESS ( item_level_itypes ) %]
426               <li><span class="label">Item type:</span> [% bibitemloo.description %]</li>
427             [% END %]
428
429             [% IF ( bibitemloo.publicationyear ) %]<li><span class="label">Publication year:</span> [% bibitemloo.publicationyear %]</li>[% END %]
430           </ol>
431
432         <table id="requestspecific">
433         <caption>Place a hold on a specific item</caption>
434                 <tr>
435             <th>Hold</th>
436             [% IF ( item_level_itypes ) %]
437                 <th>Item type</th>
438             [% END %]
439             <th>Barcode</th>
440             <th>Home library</th>
441             <th>Last location</th>
442             <th>Call no.</th>
443             <th>Copy number</th>
444             [% IF itemdata_enumchron %]
445             <th>Vol no.</th>
446             [% END %]
447             <th>Information</th>
448         </tr>
449     [% FOREACH itemloo IN bibitemloo.itemloop %]
450         [% UNLESS ( itemloo.hide ) %]
451         <tr class="[% itemloo.backgroundcolor %]">
452             <td>
453             [% IF ( itemloo.available ) %]
454                 <input type="radio" name="checkitem" value="[% itemloo.itemnumber %]" />
455             [% ELSIF ( itemloo.override ) %]
456                 <input type="radio" name="checkitem" class="needsoverride" value="[% itemloo.itemnumber %]" />
457                 <img src="/intranet-tmpl/[% theme %]/img/famfamfam/silk/error.png" alt="Requires override of hold policy" />
458             [% ELSE %]
459                 <input disabled="disabled" type="radio" name="checkitem" value="[% itemloo.itemnumber %]" />
460                 <img src="/intranet-tmpl/[% theme %]/img/famfamfam/silk/cross.png" alt="Cannot be put on hold" />
461             [% END %]
462             </td>
463             [% IF ( item_level_itypes ) %]
464                 <td>
465                     [% UNLESS ( noItemTypeImages ) %]
466                         [% IF ( itemloo.imageurl ) %]<img src="[% itemloo.imageurl %]" alt="" /> <br /> [% END %]
467                     [% END %]
468                     [% itemloo.itypename %]
469                 </td>
470             [% END %]
471
472             <td>
473                     [% itemloo.barcode %]
474             </td>
475             <td>
476             [% itemloo.homebranchname %]
477             </td>
478             <td>
479             [% itemloo.holdingbranchname %]
480             </td>
481             <td>
482             [% itemloo.itemcallnumber %]
483             </td>
484             <td>[% IF ( itemloo.copynumber ) %][% itemloo.copynumber %][% ELSE %]&nbsp;[% END %]</td>
485             [% IF itemdata_enumchron %]
486             <td>
487             [% itemloo.enumchron %]
488             </td>
489             [% END %]
490             <td>
491                 [% IF ( itemloo.onloan ) %]
492             <span class="checkedout">Due [% itemloo.date_due %]</span>
493                         [% ELSE %]
494                 [% IF ( itemloo.transfertwhen ) %]
495             In transit from [% itemloo.transfertfrom %],
496             to [% itemloo.transfertto %], since [% itemloo.transfertwhen %]
497                 [% END %]
498                 [% END %]
499
500                 [% IF ( itemloo.message ) %]
501             Unavailable (lost or missing)
502                 [% END %]
503
504                 [% IF ( itemloo.notforloan ) %]
505             Not for loan ([% itemloo.notforloanvalue %])
506                 [% END %]
507
508             [% IF ( itemloo.reservedate ) %]
509                     [% IF ( itemloo.nocancel ) %]
510                             Can't be cancelled when item is in transit
511                     [% ELSE %]
512                     [% IF ( itemloo.waitingdate ) %]Waiting[% ELSE %]On hold[% END %]
513                     [% IF ( itemloo.canreservefromotherbranches ) %]for <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% itemloo.ReservedForBorrowernumber %]">[% itemloo.ReservedForFirstname %] [% itemloo.ReservedForSurname %]</a>[% END %] [% IF ( itemloo.waitingdate ) %]at[% ELSE %]expected at[% END %] [% itemloo.ExpectedAtLibrary %]
514                     since
515                     [% IF ( itemloo.waitingdate ) %][% itemloo.waitingdate | $KohaDates %][% ELSE %][% IF ( itemloo.reservedate ) %][% itemloo.reservedate %][% END %][% END %]. <a class="info" href="modrequest.pl?CancelBiblioNumber=[% itemloo.biblionumber %]&amp;CancelBorrowerNumber=[% itemloo.ReservedForBorrowernumber %]&amp;CancelItemnumber=[% itemloo.itemnumber %]"  onclick="return confirmDelete(MSG_CONFIRM_DELETE_HOLD);">Cancel hold</a>
516
517                     [% END %]
518             [% ELSE %]
519                     Not on hold
520             [% END %]
521             </td>
522         </tr>
523       [% END %] <!--UNLESS item hide-->
524     [% END %] <!-- itemloop -->
525         </table>
526     [% IF ( bibitemloo.hiddencount ) %]
527         <form>
528         <p class="hiddencount"><a href="request.pl?biblionumber=[% bibitemloo.biblionumber %]&amp;borrowernumber=[% bibitemloo.borrowernumber %]&amp;showallitems=1">Show all items ([% bibitemloo.hiddencount %] hidden)</a></p>
529         </form>
530     [% END %] <!-- hiddencount -->
531     [% END %] <!-- bibitemloop -->
532
533   [% ELSE %]<!-- UNLESS multi_hold -->
534
535     <table id="requesttitles">
536       <tr>
537         <th>Title</th>
538         [% UNLESS ( item_level_itypes ) %]
539           <th>Item type</th>
540         [% END %]
541         <th>Priority</th>
542         <th>Information</th>
543       </tr>
544       [% FOREACH biblioloo IN biblioloop %]
545         [% IF ( biblioloo.warn ) %]
546           <tr class="onissue">
547         [% ELSE %]
548           <tr>
549         [% END %]
550           <td>
551             <ul>
552               <li><a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% biblioloo.biblionumber %]">[% biblioloo.title |html %]</a></li>
553               [% IF ( biblioloo.publicationyear ) %]
554                 <li><span class="label">Publication year:</span> [% biblioloo.publicationyear %]</li>
555               [% END %]
556             </ul>
557             [% UNLESS ( biblioloo.warn ) %]
558               <span class="multi_hold_item" title="[% biblioloo.biblionumber %]"></span>
559             [% ELSE %]
560               <span class="not_holdable" title="[% biblioloo.biblionumber %]"></span>
561             [% END %]
562           </td>
563           [% UNLESS ( item_level_itypes ) %]
564             <td>
565               <img src="[% biblioloo.imageurl %]" alt="[% biblioloo.itypename %]" title="[% biblioloo.itypename %]" />
566             </td>
567           [% END %]
568             <td>[% biblioloo.rank %]</td>
569           <td>
570             [% IF ( biblioloo.alreadyres ) %]
571               <ul>
572             [% ELSE %]
573               [% IF ( biblioloo.none_avail ) %]
574                 <ul>
575               [% END %]
576             [% END %]
577
578           [% IF ( biblioloo.alreadyres ) %]
579               <li><a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% borrowernumber %]">[% borrowerfirstname %] [% borrowersurname %]</a> <strong>already has a hold</strong> on this item </li>
580           [% END %]
581           [% IF ( biblioloo.none_avail ) %]
582               <li> <strong>No items are available</strong> to be placed on hold</li>
583           [% END %]
584
585             [% IF ( biblioloo.alreadyres ) %]
586               </ul>
587             [% ELSE %]
588               [% IF ( biblioloo.none_avail ) %]
589                 </ul>
590               [% END %]
591             [% END %]
592
593           </td>
594         </tr>
595       [% END %]
596     </table>
597
598   [% END %]<!-- /multi_hold -->
599
600     <fieldset class="action">
601         [% IF ( borrowernumber ) %]
602             [% IF ( override_required ) %]
603                 <input type="submit" class="warning" value="Place hold" />
604             [% ELSIF ( none_available ) %]
605                 <input type="submit" disabled="disabled" value="Place hold" />
606             [% ELSE %]
607                 <input type="submit" value="Place hold" />
608             [% END %]
609         [% END %]
610     </fieldset>
611     </form>
612         </fieldset>
613 [% END %]
614
615 [% UNLESS ( borrowernumber ) %]
616 [% IF ( reserveloop ) %]
617 <form name="T[% time %]" action="modrequest.pl" method="post">
618   [% IF ( multi_hold ) %]
619     <input type = "hidden" name="multi_hold" value="1"/>
620     <input type = "hidden" name="biblionumbers" value="[% biblionumbers %]"/>
621   [% END %]
622
623 <fieldset class="rows left">
624 <legend>Existing holds</legend>
625
626 [% FOREACH biblioloo IN biblioloop %]
627
628     [% IF ( biblioloo.reserveloop ) %]
629     <table>
630       [% IF ( multi_hold ) %]
631           <caption><a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% biblioloo.biblionumber %]">[% biblioloo.title |html %]</a></caption>
632       [% END %]
633       <tr>
634         [% IF ( CAN_user_reserveforothers_modify_holds_priority ) %]
635             <th>Priority</th>
636                 <th>&nbsp;</th>
637         [% ELSE %]
638             <th>Delete?</th>
639         [% END %]
640         <th>Patron</th>
641         <th>Notes</th>
642         <th>Date</th>
643         <th>Expiration</th>
644         <th>Pickup library</th>
645         <th>Details</th>
646         [% IF ( CAN_user_reserveforothers_modify_holds_priority ) %]
647             <th><img src="/intranet-tmpl/[% theme %]/img/go-bottom.png" border="0" alt="Toggle set to lowest priority" /></th>
648         [% END %]
649         <th>&nbsp;</th>
650     [% IF SuspendHoldsIntranet %]<th>&nbsp;</th><!-- Suspend Holds Column Header -->[% END %]
651       </tr>
652   [% FOREACH reserveloo IN biblioloo.reserveloop %]
653   [% UNLESS ( loop.odd ) %]<tr class="highlight">[% ELSE %]<tr>[% END %]
654         <td>
655           <input type="hidden" name="reserve_id" value="[% reserveloo.reserve_id %]" />
656           <input type="hidden" name="borrowernumber" value="[% reserveloo.borrowernumber %]" />
657           <input type="hidden" name="biblionumber" value="[% reserveloo.biblionumber %]" />
658           <select name="rank-request">
659               [% IF ( reserveloo.wait ) %]
660                   [% IF ( reserveloo.intransit ) %]
661                       <option value="T" selected="selected">In transit</option>
662                   [% ELSE %]
663                       <option value="W" selected="selected">Waiting</option>
664                   [% END %]
665               [% END %]
666
667               [% IF ( CAN_user_reserveforothers_modify_holds_priority ) %]
668                   [% FOREACH optionloo IN reserveloo.optionloop %]
669                       [% IF ( optionloo.selected ) %]
670                           <option value="[% optionloo.num %]" selected="selected">[% optionloo.num %]</option>
671                       [% ELSE %]
672                           <option value="[% optionloo.num %]">[% optionloo.num %]</option>
673                       [% END %]
674                   [% END %]
675               [% ELSIF !reserveloo.wait %]
676                   <option value="[% reserveloo.priority %]" selected="selected">[% reserveloo.priority %]</option>
677               [% END %]
678               <option value="del">del</option>
679           </select>
680         </td>
681
682      [% IF ( CAN_user_reserveforothers_modify_holds_priority ) %]
683         <td style="white-space:nowrap;">
684             <a title="Move hold up" href="request.pl?action=move&amp;where=up&amp;borrowernumber=[% reserveloo.borrowernumber %]&amp;biblionumber=[% reserveloo.biblionumber %]&amp;reserve_id=[% reserveloo.reserve_id %]&amp;date=[% reserveloo.date %]">
685             <img src="/intranet-tmpl/[% theme %]/img/go-up.png" border="0" alt="Go up" />
686                 </a>
687
688                 <a title="Move hold to top" href="request.pl?action=move&amp;where=top&amp;borrowernumber=[% reserveloo.borrowernumber %]&amp;biblionumber=[% reserveloo.biblionumber %]&amp;reserve_id=[% reserveloo.reserve_id %]&amp;date=[% reserveloo.date %]">
689                     <img src="/intranet-tmpl/[% theme %]/img/go-top.png" border="0" alt="Go top" />
690                 </a>
691
692                 <a title="Move hold to bottom" href="request.pl?action=move&amp;where=bottom&amp;borrowernumber=[% reserveloo.borrowernumber %]&amp;biblionumber=[% reserveloo.biblionumber %]&amp;reserve_id=[% reserveloo.reserve_id %]&amp;date=[% reserveloo.date %]">
693                     <img src="/intranet-tmpl/[% theme %]/img/go-bottom.png" border="0" alt="Go bottom" />
694                 </a>
695
696                 <a title="Move hold down" href="request.pl?action=move&amp;where=down&amp;borrowernumber=[% reserveloo.borrowernumber %]&amp;biblionumber=[% reserveloo.biblionumber %]&amp;reserve_id=[% reserveloo.reserve_id %]&amp;date=[% reserveloo.date %]">
697                     <img src="/intranet-tmpl/[% theme %]/img/go-down.png" border="0" alt="Go down" />
698                 </a>
699         </td>
700     [% END %]
701
702         <td>
703           <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% reserveloo.borrowernumber %]" >
704           [% IF ( reserveloo.hidename ) %]
705               [% reserveloo.cardnumber (reserveloo.borrowernumber) %]
706           [% ELSE %]
707               [% reserveloo.firstname %] [% reserveloo.surname %]
708           [% END %]
709           </a>
710         </td>
711         <td>[% reserveloo.notes %]</td>
712         <td>[% reserveloo.date %]</td>
713         <td>[% reserveloo.expirationdate %]</td>
714         <td>
715     [% IF ( reserveloo.wait ) %]
716         [% IF ( reserveloo.atdestination ) %]
717             [% IF ( reserveloo.found ) %]
718                 Item waiting at <b> [% reserveloo.wbrname %]</b> <input type="hidden" name="pickup" value="[% reserveloo.wbrcode %]" />
719             [% ELSE %]
720                 Waiting to be pulled <input type="hidden" name="pickup" value="[% reserveloo.wbrcode %]" />
721             [% END %]
722           [% ELSE %]
723             Item being transferred to <b> [% reserveloo.wbrname %]</b> <input type="hidden" name="pickup" value="[% reserveloo.wbrcode %]" />
724          [% END %]
725     [% ELSE %]
726           <select name="pickup">
727       [% FOREACH branchloo IN reserveloo.branchloop %]
728         [% IF ( branchloo.selected ) %]
729             <option value="[% branchloo.branchcode %]" selected="selected">
730         [% ELSE %]
731             <option value="[% branchloo.branchcode %]">
732         [% END %]
733               [% branchloo.branchname %]
734             </option>
735       [% END %]
736           </select>
737     [% END %]
738         </td>
739         <td>
740     [% IF ( reserveloo.wait ) %]
741           <a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% reserveloo.biblionumber %]">
742                 [% IF ( reserveloo.barcodenumber ) %]
743                     [% reserveloo.barcodenumber %]
744                     <input type="hidden" name="itemnumber" value="[% reserveloo.itemnumber %]" />
745                 [% ELSE %]
746                     No barcode
747                 [% END %]
748           </a>
749     [% ELSE %]
750       [% IF ( reserveloo.constrainttypea ) %]
751             [% IF ( reserveloo.item_level_hold ) %]
752                 <i>Only item
753                 <a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% reserveloo.biblionumber %]">
754                      [% IF ( reserveloo.barcodenumber ) %]
755                          [% reserveloo.barcodenumber %]
756                         <input type="hidden" name="itemnumber" value="[% reserveloo.itemnumber %]" />
757                     [% ELSE %]
758                         No barcode
759                     [% END %]
760                 </a>
761                 </i>
762             [% ELSE %]
763                 <i>Next available</i>
764                  <input type="hidden" name="itemnumber" value="" />
765             [% END %]
766       [% ELSE %]
767         [% IF ( reserveloo.constrainttypeo ) %]
768           only this type :<b>[% reserveloo.volumeddesc %] [% reserveloo.itemtype %]</b>
769         [% END %]
770       [% END %]
771     [% END %]
772         </td>
773
774     [% IF ( CAN_user_reserveforothers_modify_holds_priority ) %]
775         <td>
776                 <a title="Toggle lowest priority" href="request.pl?action=setLowestPriority&amp;borrowernumber=[% reserveloo.borrowernumber %]&amp;biblionumber=[% reserveloo.biblionumber %]&amp;reserve_id=[% reserveloo.reserve_id %]&amp;date=[% reserveloo.date %]">
777                         [% IF ( reserveloo.lowestPriority ) %]
778                         <img src="/intranet-tmpl/[% theme %]/img/go-bottom.png" border="0" alt="Unset lowest priority" />
779                         [% ELSE %]
780                         <img src="/intranet-tmpl/[% theme %]/img/go-down.png" border="0" alt="Set to lowest priority" />
781                         [% END %]
782                 </a>
783         </td> 
784     [% END %]
785
786         <td>
787            <a title="Cancel hold" href="request.pl?action=cancel&amp;borrowernumber=[% reserveloo.borrowernumber %]&amp;biblionumber=[% reserveloo.biblionumber %]&amp;reserve_id=[% reserveloo.reserve_id %]&amp;date=[% reserveloo.date %]">
788                     <img src="/intranet-tmpl/[% theme %]/img/x.png" border="0" alt="Cancel" />
789                 </a>
790         </td>
791
792         [% IF SuspendHoldsIntranet %]
793         <td>
794         [% UNLESS ( reserveloo.wait ) %]
795             <input type="button" value="[% IF ( reserveloo.suspend ) %]Unsuspend[% ELSE %]Suspend[% END %]" onclick="window.location.href='request.pl?action=toggleSuspend&amp;reserve_id=[% reserveloo.reserve_id %]&amp;borrowernumber=[% reserveloo.borrowernumber %]&amp;biblionumber=[% reserveloo.biblionumber %]&amp;date=[% reserveloo.date %]&amp;suspend_until=' + $('#suspend_until_[% reserveloo.reserve_id %]').val()" />
796
797             [% IF AutoResumeSuspendedHolds %]
798         <label for="suspend_until_[% reserveloo.reserve_id %]">[% IF ( reserveloo.suspend ) %] on [% ELSE %] until [% END %]</label>
799             <input name="suspend_until" id="suspend_until_[% reserveloo.reserve_id %]" size="10" readonly="readonly" value="[% reserveloo.suspend_until | $KohaDates %]" class="datepicker suspend_until_datepicker" />
800             <a href='#' onclick="document.getElementById('suspend_until_[% reserveloo.reserve_id %]').value='';">Clear date</a>
801             [% END %]
802         [% ELSE %]
803                 <input type="hidden" name="suspend_until" value="" />
804         [% END %]
805         </td>
806         [% END # IF SuspendHoldsIntranet %]
807
808       </tr>
809
810   [% END %] <!-- existing reserveloop -->
811      </table>
812   [% END %]<!-- /reserveloop -->
813 [% END %]<!-- /biblioloop -->
814
815 <fieldset class="action">
816   <input type="submit" name="submit" value="Update hold(s)" />
817 </fieldset>
818 </fieldset>
819 </form>
820 [% END %]
821 [% END %]
822 [% END %]
823 </div>
824 </div>
825
826 <div class="yui-b">
827 [% UNLESS ( multi_hold ) %]
828   [% INCLUDE 'biblio-view-menu.inc' %]
829 [% END %]
830
831 </div>
832 </div>
833 [% INCLUDE 'intranet-bottom.inc' %]