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