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