Bug 15758: Koha::Libraries - Remove GetBranchesLoop
[koha.git] / koha-tmpl / intranet-tmpl / prog / en / modules / tools / inventory.tt
1 [% USE KohaDates %]
2 [% USE Branches %]
3 [% INCLUDE 'doc-head-open.inc' %]
4 <title>Koha &rsaquo; Tools &rsaquo; Inventory</title>
5 [% INCLUDE 'doc-head-close.inc' %]
6 <link rel="stylesheet" type="text/css" href="[% interface %]/[% theme %]/css/datatables.css" />
7 [% INCLUDE 'datatables.inc' %]
8 [% INCLUDE 'calendar.inc' %]
9 <script type="text/javascript" src="[% interface %]/lib/jquery/plugins/jquery.checkboxes.min.js"></script>
10 <script type="text/javascript">
11 //<![CDATA[
12 function checkForm() {
13     if ( $('#uploadbarcodes').val() ) {
14         if ( !(
15             $('#branchloop').val()   ||
16             $('#locationloop').val() ||
17             $('#minlocation').val()  ||
18             $('#maxlocation').val()  ||
19             $('#statuses input:checked').length
20         ) ) {
21             return confirm(
22                 _("You have not selected any catalog filters and are about to compare a file of barcodes to your entire catalog.") + "\n\n" +
23                 _("For large catalogs this can result in unexpected behavior") + "\n\n" +
24                 _("Are you sure you want to do this?")
25             );
26         }
27     }
28
29     return true;
30 }
31
32 $(document).ready(function(){
33         inventorydt = $('#inventoryt').dataTable($.extend(true, {}, dataTablesDefaults, {
34             'sPaginationType': 'full_numbers',
35             [% IF compareinv2barcd %]
36                 "aoColumnDefs": [ { "bSortable": false, "aTargets": [ 1 ] } ],
37             [% ELSE %]
38                 "aoColumnDefs": [ { "bSortable": false, "aTargets": [ 0 ] } ],
39             [% END %]
40             'fnDrawCallback': function() {
41                 //bind the click handler script to the newly created elements held in the table
42                 $('.openWin').bind('click',function(e){
43                     e.preventDefault();
44                     openWindow(this.href,'marcview',800,600);
45                 });
46             }
47         } ));
48
49
50         $("#continuewithoutmarkingbutton").click(function(){
51             inventorydt.fnPageChange( 'next' );
52             return false;
53         });
54
55         $("#markseenandcontinuebutton").click(function(){
56             var param = '';
57             $("input:checked").each(function() {
58                 param += "|" + $(this).attr('name');
59             });
60             $.post('/cgi-bin/koha/tools/ajax-inventory.pl', { seen: param });
61             inventorydt.fnPageChange( 'next' );
62             return false;
63         });
64
65         $("#markseenandquit").click(function(){
66             var param = '';
67             $("input:checked").each(function() {
68                 param += "|" + $(this).attr('name');
69             });
70             $.ajax({
71               type: 'POST',
72               url: '/cgi-bin/koha/tools/ajax-inventory.pl',
73               data: { seen: param},
74               async: false
75             });
76             document.location.href = '/cgi-bin/koha/tools/inventory.pl';
77             return false;
78         });
79
80
81     $(".checkall").click(function(){
82             $(".checkboxed").checkCheckboxes();
83             return false;
84         });
85     $(".clearall").click(function(){
86             $(".checkboxed").unCheckCheckboxes();
87             return false;
88         });
89 });
90 //]]>
91 </script>
92 </head>
93 <body id="tools_inventory" class="tools">
94 [% INCLUDE 'header.inc' %]
95 [% INCLUDE 'cat-search.inc' %]
96
97 <div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo; <a href="/cgi-bin/koha/tools/tools-home.pl">Tools</a> &rsaquo; [% IF (loop) %]<a href="/cgi-bin/koha/tools/inventory.pl">Inventory</a> &rsaquo; Results[% ELSE %]Inventory[% END %]</div>
98
99 <div id="doc3" class="yui-t2">
100
101    <div id="bd">
102     <div id="yui-main">
103     <div class="yui-b">
104     <h1>Inventory</h1>
105     [% IF (moddatecount) %]<div class="dialog message">[% moddatecount %] items modified : datelastseen set to [% date | $KohaDates %]</div>
106     <div class="dialog alert">Number of potential barcodes read: [% LinesRead %]</div>[% END %]
107     [% IF (errorfile) %]<div class="dialog alert">[% errorfile %] can't be opened</div>[% END %]
108     [% IF (err_length && err_length==1) %]<div class="dialog alert">There was 1 barcode that was too long.</div>[% END %]
109     [% IF (err_length && err_length>1) %]<div class="dialog alert">There were [% err_length %] barcodes that were too long.</div>[% END %]
110     [% IF (err_data && err_data==1) %]<div class="dialog alert">There was 1 barcode that contained at least one unprintable character.</div>[% END %]
111     [% IF (err_data && err_data>1) %]<div class="dialog alert">There were [% err_data %] barcodes that contained at least one unprintable character.</div>[% END %]
112     [% FOREACH error IN errorloop %]
113         <div class="dialog alert">
114             [% error.barcode %]
115             [% IF (error.ERR_BARCODE) %]: barcode not found[% END %]
116             [% IF (error.ERR_WTHDRAWN) %]: item withdrawn[% END %]
117             [% IF (error.ERR_ONLOAN_RET) %]: item was on loan. It was returned before marked as seen[% END %]
118             [% IF (error.ERR_ONLOAN_NOT_RET) %]: item was on loan. couldn't be returned.[% END %]
119         </div>
120     [% END %]
121        [% UNLESS op %]
122     <div class="yui-g">
123     <form method="post" action="/cgi-bin/koha/tools/inventory.pl" enctype="multipart/form-data" onsubmit="return checkForm()">
124         <fieldset class="rows">
125             <legend>Use a barcode file</legend>
126      <ol>
127             <li><label for="uploadbarcodes">Barcode file: </label> <input type="file" id="uploadbarcodes" name="uploadbarcodes" /></li>
128             <li><label for="setdate">Set inventory date to:</label> <input type="text" id="setdate" name="setdate" value="[% today | $KohaDates %]" class="datepickerfrom" />
129             </li>
130           </ol>
131         </fieldset>
132
133         <fieldset class="rows">
134         <legend>Select items you want to check</legend>
135         <ol><li>
136         <label for="branch">Library: </label>
137             <input type="radio" name="branch" value="homebranch"> Home library</input>
138             <input type="radio" name="branch" value="holdingbranch"> Current library</input>
139         </li><li>
140         <label for="branchloop">Library: </label><select id="branchloop" name="branchcode" style="width:12em;">
141             <option value="">All libraries</option>
142             [% PROCESS options_for_libraries libraries => Branches.all( selected => branchcode ) %]
143         </select>
144         </li>
145         [% IF (authorised_values) %]
146         <li>
147             <label for="locationloop">Shelving location (items.location) is: </label>
148         <select id="locationloop" name="location">
149                 <option value="">Filter location</option>
150         [% FOREACH value IN authorised_values %]
151             [% IF (value.selected) %]
152                 <option value="[% value.authorised_value %]" selected="selected">[% value.lib %]</option>
153             [% ELSE %]
154                 <option value="[% value.authorised_value %]">[% value.lib %]</option>
155             [% END %]
156         [% END %]
157         </select>        </li>
158         [% END %]
159         <li>
160             <label for="minlocation">Item callnumber between: </label>
161                 <input type="text" name="minlocation" id="minlocation" value="[% minlocation %]" /> (items.itemcallnumber)  </li>
162            <li><label for="maxlocation">...and: </label>
163                 <input type="text" name="maxlocation" id="maxlocation" value="[% maxlocation %]" />
164         </li>
165         [% IF (statuses) %]
166     </ol>
167     </fieldset>
168             <fieldset class="rows">
169             <legend>Item statuses</legend>
170             <div id="statuses" style="display: block;">
171                   [% FOREACH status IN statuses %]
172                       [% IF (status.values) %]
173                           <fieldset style="float: left; padding: 5px; margin: 5px;text-align:right">
174                               <legend>[% status.fieldname %]</legend>
175                               <ul id="statuses-[% fieldname %]" style="display: inline;">
176                               [% FOREACH value IN status.values %]
177                                   [% IF (value.lib) %]<li>
178                                     <label for="[% value.id %]">
179                                       [% value.lib %]
180                                     </label>
181                                     <input type="checkbox" name="status-[% status.fieldname %]-[% value.authorised_value %]" id="[% value.authorised_value %]" />
182                                   </li>[% END %]
183                               [% END %]
184                               </ul>
185                           </fieldset>
186                       [% END %]
187                   [% END %]
188                 </div>
189             </fieldset>
190         <fieldset class="rows">
191           <ol>
192         [% END %]
193
194         <li><label for="datelastseen">Inventory date:</label>
195             <input type="text" id="datelastseen" name="datelastseen" value="[% datelastseen | $KohaDates %]" class="datepickerfrom" />
196         </li>
197         <li><label for="ignoreissued">Skip items on loan: </label>
198             [% IF (ignoreissued) %]
199             <input type="checkbox" id="ignoreissued" name="ignoreissued" checked="checked" /></li>
200             [% ELSE %]
201             <input type="checkbox" id="ignoreissued" name="ignoreissued" /></li>
202             [% END %]
203         <li>
204            <label for="CSVexport">Export to CSV file: </label>
205            <input type="checkbox" name="CSVexport" id="CSVexport" />
206         </li>
207         <li>
208             <label for="compareinv2barcd">Compare barcodes list to results: </label>
209             <input type="checkbox" name="compareinv2barcd" id="compareinv2barcd" />
210         </li>
211         <li>
212             <label for="dont_checkin">Do not check in items scanned during inventory: </label>
213             <input type="checkbox" name="dont_checkin" id="dont_checkin" />
214         </li>
215         </ol>
216   </fieldset>
217             <input type="hidden" name="op" value="do_it" />
218
219             <fieldset class="action"><input type="submit" value="Submit" class="button" /></fieldset>
220     </form>
221     </div>
222     </div>
223     [% END %]
224     [% IF (op) %]
225     <form method="post" action="/cgi-bin/koha/tools/inventory.pl" class="checkboxed">
226     <input type="hidden" name="markseen" value="1" />
227     <input type="hidden" name="minlocation" value="[% minlocation %]" />
228     <input type="hidden" name="maxlocation" value="[% maxlocation %]" />
229     <input type="hidden" name="location" value="[% location %]" />
230     <input type="hidden" name="branchcode" value="[% branchcode %]" />
231     <input type="hidden" name="datelastseen" value="[% datelastseen %]" />
232
233     [% UNLESS compareinv2barcd %]
234       <div><a href="#" class="checkall">[Select all]</a> <a href="#" class="clearall">[Clear all]</a></div>
235     [% END %]
236
237     <table id="inventoryt">
238     <thead>
239         <tr>
240             [% UNLESS compareinv2barcd %]<th>Seen</th>[% END %]
241             <th>Barcode</th>
242             <th>Library</th>
243             <th>Title</th>
244             <th>Status</th>
245             <th>Lost</th>
246             <th>Damaged</th>
247             <th>Withdrawn</th>
248             <th>Last seen</th>
249             <th>Problems</th>
250         </tr>
251     </thead>
252     <tbody>
253     [% FOREACH result IN loop %]
254         <tr>
255             [% UNLESS compareinv2barcd %]
256               <td>
257                 <input type="checkbox" name="SEEN-[% result.itemnumber %]" value="1" />
258               </td>
259             [% END %]
260             <td>
261             [% result.barcode | html %]
262             </td>
263             <td>
264                 [% Branches.GetName( result.homebranch ) %]
265                 [% result.location | html %] [% IF ( result.itemcallnumber ) %][[% result.itemcallnumber | html %]][% ELSE %][% END %]
266             </td>
267             <td>
268             <p><a href="/cgi-bin/koha/catalogue/MARCdetail.pl?biblionumber=[% result.biblionumber %]" class="openWin">[% result.title | html %]</a></p><p>[% result.author | html %]</p>
269             </td>
270             <td>
271             [% result.notforloan | html %]
272             </td>
273             <td>
274             [% result.itemlost | html %]
275             </td>
276             <td>
277             [% result.damaged | html %]
278             </td>
279             <td>
280             [% result.withdrawn | html %]
281             </td>
282             <td>
283             [% result.datelastseen | $KohaDates | html %]
284             </td>
285             <td>
286             [% IF result.problem == 'wrongplace' %]
287                 <p>Item should not have been scanned</p>
288             [% ELSIF result.problem == 'missingitem' %]
289                 <p>Item missing</p>
290             [% ELSIF result.problem == 'changestatus' %]
291                 <p>Change item status</p>
292             [% ELSIF result.problem == 'not_scanned' %]
293                 <p>Item should have been scanned</p>
294             [% END %]
295             </td>
296         </tr>
297     [% END %]
298     </tbody>
299     </table>
300     <div class="spacer"></div>
301     [% UNLESS compareinv2barcd %]
302       <div style="padding : .3em 0"><a href="#" class="checkall">[Select all]</a> <a href="#" class="clearall">[Clear all]</a></div>
303       <input type="submit" id="markseenandquit" value="Mark seen and quit" />
304       <input type="submit" value="Mark seen and continue &gt;&gt;" id="markseenandcontinuebutton" />
305       <input type="submit" value="Continue without marking &gt;&gt;" id="continuewithoutmarkingbutton" class="submit" />
306     [% END %]
307     </form>
308
309     </div>
310
311     [% END %]
312 </div>
313 <div class="yui-b">
314 [% INCLUDE 'tools-menu.inc' %]
315 </div>
316 </div>
317 [% INCLUDE 'intranet-bottom.inc' %]