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