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