Bug 16991: Add subtitle to holds to pull report
[koha.git] / koha-tmpl / intranet-tmpl / prog / en / modules / circ / pendingreserves.tt
1 [% USE KohaDates %]
2 [% USE AuthorisedValues %]
3 [%- USE Branches -%]
4 [%- USE ItemTypes -%]
5 [% INCLUDE 'doc-head-open.inc' %]
6 <title>Koha &rsaquo; Circulation &rsaquo; Holds to pull</title>
7 [% INCLUDE 'doc-head-close.inc' %]
8 [% INCLUDE 'calendar.inc' %]
9 <!-- Plugin datatables -->
10 <link rel="stylesheet" type="text/css" href="[% interface %]/[% theme %]/css/datatables.css" />
11 [% INCLUDE 'datatables.inc' %]
12 <script type="text/JavaScript">
13 //<![CDATA[
14 $(document).ready(function() {
15   var holdst = $("#holdst").dataTable($.extend(true, {}, dataTablesDefaults, {
16     "aoColumnDefs": [
17         { "sType": "anti-the", "aTargets" : [ "anti-the" ] },
18         { "sType": "title-string", "aTargets" : [ "title-string" ] },
19         { "sType": "string", "aTargets": [ "string-sort" ] } //Target columns that use <br> separators and pull-down menus.
20     ],
21     "sPaginationType": "full_numbers"
22   }));
23   holdst.fnAddFilters("filter");
24   [%# add separateData function to cleanse jQuery select lists by breaking apart strings glued with BR tags and then de-duplicating any repeated library codes %]
25   function separateData ( ColumnData ){
26     var cD = ColumnData;
27     var new_array = new Array();
28     for ( j=0 ; j<cD.length ; j++ ) {
29         var split_array = cD[j].split(/<br>/gi);
30         for ( k=0 ; k<split_array.length ; k++ ){
31             var str = $.trim(split_array[k].replace(/[\n\r]/g, ''));
32             if ($.inArray(str, new_array) == -1 && str.length > 0 ) {
33                 new_array.push(str);
34             }
35         }
36     }
37     new_array.sort();
38     return new_array;
39   }
40   [%# add SeparateData function into createSelect function, so that it does the createSelect on clean data %]
41   function createSelect( data ) {
42       data = separateData(data);
43       var r='<select style="width:99%"><option value="">' + _("None") + '</option>', i, len=data.length;
44       for ( i=0 ; i<len ; i++ ) {
45           r += '<option value="'+data[i]+'">'+data[i]+'</option>';
46       }
47       return r+'</select>';
48   }
49   $("#homebranchfilter").each( function () {
50       $(this).html( createSelect( holdst.fnGetColumnData(4) ) );
51       $('select', this).change( function () {
52           var filter_value = $(this).val();
53           holdst.fnFilter( filter_value, 4, true );
54       } );
55   } );
56   $("#itypefilter").each( function () {
57       $(this).html( createSelect( holdst.fnGetColumnData(8) ) );
58       $('select', this).change( function () {
59           holdst.fnFilter( $(this).val(), 8 );
60       } );
61   } );
62   $("#locationfilter").each( function () {
63       $(this).html( createSelect( holdst.fnGetColumnData(9) ) );
64       $('select', this).change( function () {
65           holdst.fnFilter( $(this).val(), 9 );
66       } );
67   } );
68 });
69 //]]>
70 </script>
71 </head>
72 <body id="circ_pendingreserves" class="circ">
73 [% INCLUDE 'header.inc' %]
74 [% INCLUDE 'circ-search.inc' %]
75
76
77 <div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo; <a href="/cgi-bin/koha/circ/circulation-home.pl">Circulation</a> &rsaquo; Holds to pull</div>
78
79 <div id="doc3" class="yui-t2">
80
81    <div id="bd">
82     <div id="yui-main">
83     <div class="yui-b">
84
85 <h2>Holds to pull[% IF ( run_report ) %] placed between [% from | $KohaDates %] and [% to | $KohaDates %][% END %]</h2>
86 [% IF ( run_report ) %]
87 <h3>Reported on [% todaysdate | $KohaDates %]</h3>
88 <p>The following holds have not been filled. Please retrieve them and check them in.</p>
89 <div class="searchresults">
90     [% IF ( reserveloop ) %]
91     <table id="holdst">
92     <thead>
93         <tr>
94         <th>Pull this many items</th>
95         <th>Items available</th>
96         <th>Patrons with holds</th>
97         <th class="anti-the">Title</th>
98         <th class="string-sort">Libraries</th>
99         <th>Available call numbers</th>
100         <th>Available copy numbers</th>
101         <th>Available enumeration</th>
102         <th class="string-sort">Available itypes</th>
103         <th class="string-sort">Available locations</th>
104         <th class="title-string">Earliest hold date</th>
105         </tr>
106     </thead>
107     <tbody>
108         [% FOREACH reserveloo IN reserveloop %]
109         <tr>
110         [% IF ( reserveloo.borrowernumber ) %]
111             <td><p><b>[% reserveloo.pullcount %]</b></p></td>
112             <td>[% reserveloo.count %]</td>
113             <td>[% reserveloo.rcount %]</td>
114             <td>
115             <p>
116                 [% INCLUDE 'biblio-default-view.inc' biblionumber = reserveloo.biblionumber %]
117                 [% reserveloo.title |html %] [% FOREACH s IN reserveloo.subtitle %] [% s %][% END %]</a></p>
118                 [% IF ( reserveloo.author ) %]<p> by [% reserveloo.author %]</p>[% END %]
119             </td>
120         [% ELSE %]
121             <td>"</td>
122             <td>"</td>
123             <td>"</td>
124             <td>"</td>
125         [% END %]
126         <td>
127             [% FOREACH holdingbranch IN reserveloo.holdingbranches %]
128                 [% Branches.GetName ( holdingbranch ) %]<br>
129             [% END %]
130         </td>
131         <td><p>[% reserveloo.itemcallnumber %]</p></td>
132         <td><p>[% reserveloo.copyno %]</p></td>
133         <td><p>[% reserveloo.enumchron %]</p></td>
134         <td>
135         [% FOREACH itype IN reserveloo.itypes %]
136             [% ItemTypes.GetDescription( itype ) %]
137         [% END %]
138         </td>
139         <td>
140         [% FOREACH loc IN reserveloo.locations %]
141             [% AuthorisedValues.GetByCode('LOC', loc) %]<br>
142         [% END %]
143         </td>
144         <td>
145             <span title="[% reserveloo.reservedate %]">[% reserveloo.reservedate | $KohaDates %] in [% Branches.GetName ( reserveloo.branch ) %]</span>
146             [% IF ( reserveloo.statusw ) %]<p>Waiting</p>[% END %][% IF ( reserveloo.statusf ) %]<p>Fulfilled</p>[% END %]
147         </td>
148         </tr>
149         [% END %]
150     </tbody>
151     <tfoot>
152         <tr>
153         <td><input type="text" class="filter" data-column_num="0" placeholder="Pull this many items" style="width:95%"/></td>
154         <td><input type="text" class="filter" data-column_num="1" placeholder="Items available" style="width:95%"/></td>
155         <td><input type="text" class="filter" data-column_num="2" placeholder="Patron holds" style="width:95%"/></td>
156         <td><input type="text" class="filter" data-column_num="3" placeholder="Title" style="width:95%"/></td>
157         <td id="homebranchfilter"></td>
158         <td><input type="text" class="filter" data-column_num="5" placeholder="Call number" style="width:95%"/></td>
159         <td><input type="text" class="filter" data-column_num="6" placeholder="Available copy" style="width:95%"/></td>
160         <td><input type="text" class="filter" data-column_num="7" placeholder="Available enumeration" style="width:95%"/></td>
161         <td id="itypefilter"></td>
162         <td id="locationfilter"></td>
163         <td></td>
164         </tr>
165     </tfoot>
166     </table>
167     [% ELSE %]
168         <b>No items found.</b>
169     [% END %]
170 </div>
171 [% END %]
172
173 </div>
174 </div>
175 <div class="yui-b">
176 <div id="filters">
177
178 <form action="/cgi-bin/koha/circ/pendingreserves.pl" method="post" >
179 <fieldset class="brief">
180 <h4>Refine results</h4>
181 <ol>
182 <li>
183 <label for="from">
184     Start date:
185 </label>
186 <input type="text" size="10" id="from" name="from" value="[% from | $KohaDates %]" class="datepickerfrom" />
187 </li>
188 <li><label for="to">
189     End date:
190 </label>
191 <input type="text" size="10" id="to" name="to" value="[% to | $KohaDates %]" class="datepickerto" />
192 </li>
193 </ol>
194 <p><i>(Inclusive, default is [% HoldsToPullStartDate %] days ago to [% IF ( HoldsToPullEndDate ) %][% HoldsToPullEndDate %] days ahead[% ELSE %]today[% END %], set other date ranges as needed. )</i></p>
195 <fieldset class="action"><input type="submit" name="run_report" value="Submit" class="submit"/></fieldset>
196 </fieldset>
197 </form>
198
199 </div>
200 </div>
201 </div>
202 [% INCLUDE 'intranet-bottom.inc' %]