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