Lines 49-361
Link Here
|
49 |
<main> |
49 |
<main> |
50 |
[% INCLUDE 'messages.inc' %] |
50 |
[% INCLUDE 'messages.inc' %] |
51 |
|
51 |
|
52 |
<h1>Inventory</h1> |
52 |
<h1>Inventory</h1> |
53 |
[% IF (moddatecount) %]<div class="dialog message">[% moddatecount | html %] items modified : datelastseen set to [% date | $KohaDates with_hours => 1 %]</div> |
53 |
[% IF (moddatecount) %]<div class="dialog message">[% moddatecount | html %] items modified : datelastseen set to [% date | $KohaDates with_hours => 1 %]</div> |
54 |
<div class="dialog alert">Number of potential barcodes read: [% LinesRead | html %]</div>[% END %] |
54 |
<div class="dialog alert">Number of potential barcodes read: [% LinesRead | html %]</div>[% END %] |
55 |
[% IF (errorfile) %]<div class="dialog alert">[% errorfile | html %] can't be opened</div>[% END %] |
55 |
[% IF (errorfile) %]<div class="dialog alert">[% errorfile | html %] can't be opened</div>[% END %] |
56 |
[% IF (err_length && err_length==1) %]<div class="dialog alert">There was 1 barcode that was too long.</div>[% END %] |
56 |
[% IF (err_length && err_length==1) %]<div class="dialog alert">There was 1 barcode that was too long.</div>[% END %] |
57 |
[% IF (err_length && err_length>1) %]<div class="dialog alert">There were [% err_length | html %] barcodes that were too long.</div>[% END %] |
57 |
[% IF (err_length && err_length>1) %]<div class="dialog alert">There were [% err_length | html %] barcodes that were too long.</div>[% END %] |
58 |
[% IF (err_data && err_data==1) %]<div class="dialog alert">There was 1 barcode that contained at least one unprintable character.</div>[% END %] |
58 |
[% IF (err_data && err_data==1) %]<div class="dialog alert">There was 1 barcode that contained at least one unprintable character.</div>[% END %] |
59 |
[% IF (err_data && err_data>1) %]<div class="dialog alert">There were [% err_data | html %] barcodes that contained at least one unprintable character.</div>[% END %] |
59 |
[% IF (err_data && err_data>1) %]<div class="dialog alert">There were [% err_data | html %] barcodes that contained at least one unprintable character.</div>[% END %] |
60 |
[% FOREACH error IN errorloop %] |
60 |
[% FOREACH error IN errorloop %] |
61 |
<div class="dialog alert"> |
61 |
<div class="dialog alert"> |
62 |
[% error.barcode | html %] |
62 |
[% error.barcode | html %] |
63 |
[% IF (error.ERR_BARCODE) %]: <span>Barcode not found.</span>[% END %] |
63 |
[% IF (error.ERR_BARCODE) %]: <span>Barcode not found.</span>[% END %] |
64 |
[% IF (error.ERR_WTHDRAWN) %]: <span>Item withdrawn.</span>[% END %] |
64 |
[% IF (error.ERR_WTHDRAWN) %]: <span>Item withdrawn.</span>[% END %] |
65 |
[% IF (error.ERR_ONLOAN_RET) %]: <span>Item was on loan. It was checked in before being marked as seen.</span>[% END %] |
65 |
[% IF (error.ERR_ONLOAN_RET) %]: <span>Item was on loan. It was checked in before being marked as seen.</span>[% END %] |
66 |
[% IF (error.ERR_ONLOAN_NOT_RET) %]: <span>Item was on loan and could not be checked in.</span>[% END %] |
66 |
[% IF (error.ERR_ONLOAN_NOT_RET) %]: <span>Item was on loan and could not be checked in.</span>[% END %] |
67 |
</div> |
67 |
</div> |
68 |
[% END %] |
|
|
69 |
[% UNLESS op %] |
70 |
|
71 |
<form method="post" id="inventory_form" action="/cgi-bin/koha/tools/inventory.pl" enctype="multipart/form-data"> |
72 |
[% INCLUDE 'csrf-token.inc' %] |
73 |
<fieldset class="rows"> |
74 |
<legend>Use a barcode file</legend> |
75 |
<ol> |
76 |
<li><label for="uploadbarcodes">Barcode file: </label> <input type="file" id="uploadbarcodes" name="uploadbarcodes" /> |
77 |
<input type="button" id="resetuploadbarcodes" name="resetuploadbarcodes" value="Reset" /></li> |
78 |
</ol> |
79 |
</fieldset> |
80 |
<fieldset class="rows"> |
81 |
<legend>Or scan items one by one</legend> |
82 |
<ol> |
83 |
<li> |
84 |
<label for="barcodelist">Barcode list (one barcode per line): </label> |
85 |
<textarea rows="10" cols="30" id="barcodelist" name="barcodelist"></textarea> |
86 |
</li> |
87 |
</ol> |
88 |
</fieldset> |
89 |
<fieldset class="rows"> |
90 |
<legend>Parameters</legend> |
91 |
<ol> |
92 |
<li><label for="setdate">Set inventory date to:</label> <input type="text" id="setdate" name="setdate" value="[% today | html %]" class="flatpickr" /></li> |
93 |
<li><label for="compareinv2barcd">Compare barcodes list to results: </label><input type="checkbox" name="compareinv2barcd" id="compareinv2barcd" disabled /></li> |
94 |
<li><label for="dont_checkin">Do not check in items scanned during inventory: </label><input type="checkbox" name="dont_checkin" id="dont_checkin" disabled /></li> |
95 |
<li><label for="out_of_order">Check barcodes list for items shelved out of order: </label><input type="checkbox" name="out_of_order" id="out_of_order" disabled /></li> |
96 |
</ol> |
97 |
</fieldset> |
98 |
<fieldset class="rows"> |
99 |
<legend>Item location filters</legend> |
100 |
<ol><li> |
101 |
<label for="branch">Location: </label> |
102 |
<input type="radio" name="branch" value="homebranch"> Home library</input> |
103 |
<input type="radio" name="branch" value="holdingbranch"> Current library</input> |
104 |
</li><li> |
105 |
<label for="branchloop">Library: </label><select id="branchloop" name="branchcode" style="width:12em;"> |
106 |
<option value="">All libraries</option> |
107 |
[% PROCESS options_for_libraries libraries => Branches.all( selected => branchcode, unfiltered => 1, ) %] |
108 |
</select> |
109 |
</li> |
110 |
[% IF (authorised_values) %] |
111 |
<li> |
112 |
<label for="locationloop">Shelving location (items.location) is: </label> |
113 |
<select id="locationloop" name="location"> |
114 |
<option value="">Filter location</option> |
115 |
[% FOREACH value IN authorised_values %] |
116 |
[% IF (value.selected) %] |
117 |
<option value="[% value.authorised_value | html %]" selected="selected">[% value.lib | html %]</option> |
118 |
[% ELSE %] |
119 |
<option value="[% value.authorised_value | html %]">[% value.lib | html %]</option> |
120 |
[% END %] |
121 |
[% END %] |
122 |
</select> </li> |
123 |
[% END %] |
124 |
[% SET ccodes = AuthorisedValues.GetAuthValueDropbox('CCODE') %] |
125 |
[% IF ( ccodes.count > 0 ) %] |
126 |
<li> |
127 |
<label for="ccode">Collection code: </label> |
128 |
<select id="ccodeloop" name="ccode"> |
129 |
<option value="">Filter collection</option> |
130 |
[% FOREACH cc IN ccodes %] |
131 |
[% IF (ccode == cc.authorised_value) %] |
132 |
<option value="[% cc.authorised_value | html %]" selected="selected">[% cc.lib | html %]</option> |
133 |
[% ELSE %] |
134 |
<option value="[% cc.authorised_value | html %]">[% cc.lib | html %]</option> |
135 |
[% END %] |
136 |
[% END %] |
137 |
</select> |
138 |
</li> |
139 |
[% END %] |
140 |
<li> |
141 |
<label for="minlocation">Item call number between: </label> |
142 |
<input type="text" name="minlocation" id="minlocation" value="[% minlocation | html %]" /> (items.itemcallnumber) </li> |
143 |
<li><label for="maxlocation">...and: </label> |
144 |
<input type="text" name="maxlocation" id="maxlocation" value="[% maxlocation | html %]" /> |
145 |
<li> |
146 |
<label for="class_source">Call number classification scheme</label> |
147 |
<select name="class_source"> |
148 |
[% FOREACH class_source IN class_sources %] |
149 |
[% IF class_source.cn_source == pref_class %] |
150 |
<option value="[% class_source.cn_source | html %]" selected="selected">[% class_source.description | html %] (default)</option> |
151 |
[% ELSE %] |
152 |
<option value="[% class_source.cn_source | html %]">[% class_source.description | html %]</option> |
153 |
[% END %] |
68 |
[% END %] |
154 |
[% END %] |
69 |
|
155 |
</select> |
70 |
[% UNLESS op %] |
156 |
</li> |
71 |
<form method="post" id="inventory_form" action="/cgi-bin/koha/tools/inventory.pl" enctype="multipart/form-data"> |
157 |
</ol> |
72 |
[% INCLUDE 'csrf-token.inc' %] |
158 |
</fieldset> |
73 |
<input type="hidden" name="op" value="do_it" /> |
159 |
|
74 |
|
160 |
<fieldset class="rows" id="optionalfilters"> |
75 |
<fieldset class="rows"> |
161 |
<legend>Optional filters for inventory list or comparing barcodes</legend> |
76 |
<legend>Use a barcode file</legend> |
162 |
<span class="hint">Scanned items are expected to match one of the selected "not for loan" criteria if any are checked.</span> |
77 |
<ol> |
163 |
<br/> |
78 |
<li> |
164 |
<div id="statuses" style="display: block;"> |
79 |
<label for="uploadbarcodes">Barcode file: </label> <input type="file" id="uploadbarcodes" name="uploadbarcodes" /> |
165 |
[% FOREACH status IN statuses %] |
80 |
<input type="button" id="resetuploadbarcodes" name="resetuploadbarcodes" value="Reset" /> |
166 |
[% IF (status.values) %] |
81 |
</li> |
167 |
<fieldset style="float: left; padding: 5px; margin: 5px;text-align:right"> |
82 |
</ol> |
168 |
<legend>[% status.fieldname | html %]</legend> |
83 |
</fieldset> |
169 |
<ul id="statuses-[% fieldname | html %]" style="display: inline;"> |
84 |
|
170 |
[% FOREACH value IN status.values %] |
85 |
<fieldset class="rows"> |
171 |
[% IF (value.lib) %] |
86 |
<legend>Or scan items one by one</legend> |
172 |
<li style="list-style: none;"> |
87 |
<ol> |
173 |
<label for="[% value.id | html %]"> |
88 |
<li> |
174 |
[% IF ( status.fieldname == 'items.notforloan' && value.authorised_value == 0 && value.lib == '__IGNORE__' ) %] |
89 |
<label for="barcodelist">Barcode list (one barcode per line): </label> |
175 |
For loan |
90 |
<textarea rows="10" cols="30" id="barcodelist" name="barcodelist"></textarea> |
176 |
[% ELSE %] |
91 |
</li> |
177 |
[% value.lib | html %] |
92 |
</ol> |
|
|
93 |
</fieldset> |
94 |
|
95 |
<fieldset class="rows"> |
96 |
<legend>Parameters</legend> |
97 |
<ol> |
98 |
<li><label for="setdate">Set inventory date to:</label> <input type="text" id="setdate" name="setdate" value="[% today | html %]" class="flatpickr" /></li> |
99 |
<li><label for="compareinv2barcd">Compare barcodes list to results: </label><input type="checkbox" name="compareinv2barcd" id="compareinv2barcd" disabled /></li> |
100 |
<li><label for="dont_checkin">Do not check in items scanned during inventory: </label><input type="checkbox" name="dont_checkin" id="dont_checkin" disabled /></li> |
101 |
<li><label for="out_of_order">Check barcodes list for items shelved out of order: </label><input type="checkbox" name="out_of_order" id="out_of_order" disabled /></li> |
102 |
</ol> |
103 |
</fieldset> |
104 |
|
105 |
<fieldset class="rows"> |
106 |
<legend>Item location filters</legend> |
107 |
<ol> |
108 |
<li> |
109 |
<label for="branch">Location: </label> |
110 |
<input type="radio" name="branch" value="homebranch"> Home library</input> |
111 |
<input type="radio" name="branch" value="holdingbranch"> Current library</input> |
112 |
</li> |
113 |
|
114 |
<li> |
115 |
<label for="branchloop">Library: </label> |
116 |
<select id="branchloop" name="branchcode" style="width:12em;"> |
117 |
<option value="">All libraries</option> |
118 |
[% PROCESS options_for_libraries libraries => Branches.all( selected => branchcode, unfiltered => 1, ) %] |
119 |
</select> |
120 |
</li> |
121 |
|
122 |
[% IF (authorised_values) %] |
123 |
<li> |
124 |
<label for="locationloop">Shelving location (items.location) is: </label> |
125 |
<select id="locationloop" name="location"> |
126 |
<option value="">Filter location</option> |
127 |
[% FOREACH value IN authorised_values %] |
128 |
[% IF (value.selected) %] |
129 |
<option value="[% value.authorised_value | html %]" selected="selected">[% value.lib | html %]</option> |
130 |
[% ELSE %] |
131 |
<option value="[% value.authorised_value | html %]">[% value.lib | html %]</option> |
132 |
[% END %] |
178 |
[% END %] |
133 |
[% END %] |
179 |
</label> |
134 |
</select> |
180 |
<input type="checkbox" name="status-[% status.fieldname | html %]-[% value.authorised_value | html %]" id="[% value.authorised_value | html %]" /> |
135 |
</li> |
181 |
</li> |
136 |
[% END %] |
182 |
[% END %] |
137 |
|
183 |
[% END %] |
138 |
[% SET ccodes = AuthorisedValues.GetAuthValueDropbox('CCODE') %] |
184 |
</ul> |
139 |
[% IF ( ccodes.count > 0 ) %] |
185 |
</fieldset> |
140 |
<li> |
186 |
[% END %] |
141 |
<label for="ccode">Collection code: </label> |
187 |
[% END %] |
142 |
<select id="ccodeloop" name="ccode"> |
188 |
</div> |
143 |
<option value="">Filter collection</option> |
189 |
<ol> |
144 |
[% FOREACH cc IN ccodes %] |
190 |
<li> |
145 |
[% IF (ccode == cc.authorised_value) %] |
191 |
<br/> |
146 |
<option value="[% cc.authorised_value | html %]" selected="selected">[% cc.lib | html %]</option> |
192 |
<label for="datelastseen">Last inventory date:</label> |
147 |
[% ELSE %] |
193 |
<input type="text" id="datelastseen" name="datelastseen" value="[% datelastseen | html %]" class="flatpickr" /> |
148 |
<option value="[% cc.authorised_value | html %]">[% cc.lib | html %]</option> |
194 |
(Skip records marked as seen on or after this date.) |
149 |
[% END %] |
195 |
</li> |
150 |
[% END %] |
196 |
<li> |
151 |
</select> |
197 |
<label for="ignoreissued">Skip items on loan: </label> |
152 |
</li> |
198 |
[% IF (ignoreissued) %] |
153 |
[% END %] |
199 |
<input type="checkbox" id="ignoreissued" name="ignoreissued" checked="checked" /> |
154 |
|
200 |
[% ELSE %] |
155 |
<li> |
201 |
<input type="checkbox" id="ignoreissued" name="ignoreissued" /> |
156 |
<label for="minlocation">Item call number between: </label> |
202 |
[% END %] |
157 |
<input type="text" name="minlocation" id="minlocation" value="[% minlocation | html %]" /> (items.itemcallnumber) |
203 |
</li> |
158 |
</li> |
204 |
<li> |
159 |
<li> |
205 |
<label for="ignore_waiting_holds">Skip items on hold awaiting pickup: </label> |
160 |
<label for="maxlocation">...and: </label> |
206 |
<input type="checkbox" id="ignore_waiting_holds" name="ignore_waiting_holds" /> |
161 |
<input type="text" name="maxlocation" id="maxlocation" value="[% maxlocation | html %]" /> |
207 |
</li> |
162 |
<li> |
208 |
<li> |
163 |
<label for="class_source">Call number classification scheme</label> |
209 |
<label>Item types: </label> |
164 |
<select name="class_source"> |
210 |
<div class="branchselector"> |
165 |
[% FOREACH class_source IN class_sources %] |
211 |
<p><a href="#" id="checkallitemtypes"> <i class="fa fa-check"></i> Select all</a> | <a href="#" id="checknoneitemtypes"> <i class="fa fa-times"></i> Clear all</a></p> |
166 |
[% IF class_source.cn_source == pref_class %] |
212 |
<div class="branchgridrow"> |
167 |
<option value="[% class_source.cn_source | html %]" selected="selected">[% class_source.description | html %] (default)</option> |
213 |
[% FOREACH itemtype IN itemtypes %] |
168 |
[% ELSE %] |
214 |
<div class="branchgriditem"> |
169 |
<option value="[% class_source.cn_source | html %]">[% class_source.description | html %]</option> |
215 |
<input id="itemtype-[% itemtype.itemtype | html %]" class="branch_select" type="checkbox" name="itemtype-[% itemtype.itemtype | html %]" value="[% itemtype.itemtype | html %]" /> |
170 |
[% END %] |
216 |
<label for="itemtype-[% itemtype.itemtype | html %]">[% itemtype.description | html %]</label> |
171 |
[% END %] |
|
|
172 |
</select> |
173 |
</li> |
174 |
</li> |
175 |
</ol> |
176 |
</fieldset> |
177 |
|
178 |
<fieldset class="rows" id="optionalfilters"> |
179 |
<legend>Optional filters for inventory list or comparing barcodes</legend> |
180 |
<span class="hint">Scanned items are expected to match one of the selected "not for loan" criteria if any are checked.</span> |
181 |
<br/> |
182 |
<div id="statuses" style="display: block;"> |
183 |
[% FOREACH status IN statuses %] |
184 |
[% IF (status.values) %] |
185 |
<fieldset style="float: left; padding: 5px; margin: 5px;text-align:right"> |
186 |
<legend>[% status.fieldname | html %]</legend> |
187 |
<ul id="statuses-[% fieldname | html %]" style="display: inline;"> |
188 |
[% FOREACH value IN status.values %] |
189 |
[% IF (value.lib) %] |
190 |
<li style="list-style: none;"> |
191 |
<label for="[% value.id | html %]"> |
192 |
[% IF ( status.fieldname == 'items.notforloan' && value.authorised_value == 0 && value.lib == '__IGNORE__' ) %] |
193 |
For loan |
194 |
[% ELSE %] |
195 |
[% value.lib | html %] |
196 |
[% END %] |
197 |
</label> |
198 |
<input type="checkbox" name="status-[% status.fieldname | html %]-[% value.authorised_value | html %]" id="[% value.authorised_value | html %]" /> |
199 |
</li> |
200 |
[% END %] |
201 |
[% END %] |
202 |
</ul> |
203 |
</fieldset> |
204 |
[% END %] |
205 |
[% END %] |
217 |
</div> |
206 |
</div> |
218 |
[% IF loop.count() % 4 == 0 && !loop.last() %] |
|
|
219 |
</div> |
220 |
<div class="branchgridrow"> |
221 |
[% END %] |
222 |
[% END %] |
223 |
</div> |
224 |
</div> |
225 |
</li> |
226 |
|
227 |
</ol> |
228 |
|
207 |
|
229 |
</fieldset> |
208 |
<ol> |
230 |
|
209 |
<li> |
231 |
<fieldset class="rows"> |
210 |
<br/> |
232 |
<legend>Additional options</legend> |
211 |
<label for="datelastseen">Last inventory date:</label> |
233 |
<ol> |
212 |
<input type="text" id="datelastseen" name="datelastseen" value="[% datelastseen | html %]" class="flatpickr" /> |
234 |
|
213 |
(Skip records marked as seen on or after this date.) |
235 |
<li> |
214 |
</li> |
236 |
<label for="CSVexport">Export to CSV file: </label> |
215 |
<li> |
237 |
<input type="checkbox" name="CSVexport" id="CSVexport" /> |
216 |
<label for="ignoreissued">Skip items on loan: </label> |
238 |
</li> |
217 |
[% IF (ignoreissued) %] |
239 |
</ol> |
218 |
<input type="checkbox" id="ignoreissued" name="ignoreissued" checked="checked" /> |
240 |
<input type="hidden" name="op" value="do_it" /> |
219 |
[% ELSE %] |
241 |
</fieldset> |
220 |
<input type="checkbox" id="ignoreissued" name="ignoreissued" /> |
|
|
221 |
[% END %] |
222 |
</li> |
223 |
<li> |
224 |
<label for="ignore_waiting_holds">Skip items on hold awaiting pickup: </label> |
225 |
<input type="checkbox" id="ignore_waiting_holds" name="ignore_waiting_holds" /> |
226 |
</li> |
227 |
<li> |
228 |
<label>Item types: </label> |
229 |
<div class="branchselector"> |
230 |
<p><a href="#" id="checkallitemtypes"> <i class="fa fa-check"></i> Select all</a> | <a href="#" id="checknoneitemtypes"> <i class="fa fa-times"></i> Clear all</a></p> |
231 |
<div class="branchgridrow"> |
232 |
[% FOREACH itemtype IN itemtypes %] |
233 |
<div class="branchgriditem"> |
234 |
<input id="itemtype-[% itemtype.itemtype | html %]" class="branch_select" type="checkbox" name="itemtype-[% itemtype.itemtype | html %]" value="[% itemtype.itemtype | html %]" /> |
235 |
<label for="itemtype-[% itemtype.itemtype | html %]">[% itemtype.description | html %]</label> |
236 |
</div> |
237 |
[% IF loop.count() % 4 == 0 && !loop.last() %] |
238 |
</div> |
239 |
<div class="branchgridrow"> |
240 |
[% END %] |
241 |
[% END %] |
242 |
</div> |
243 |
</div> |
244 |
</li> |
245 |
</ol> |
246 |
</fieldset> |
247 |
|
248 |
<fieldset class="rows"> |
249 |
<legend>Additional options</legend> |
250 |
<ol> |
251 |
<li> |
252 |
<label for="CSVexport">Export to CSV file: </label> |
253 |
<input type="checkbox" name="CSVexport" id="CSVexport" /> |
254 |
</li> |
255 |
</ol> |
256 |
</fieldset> |
257 |
|
258 |
<fieldset class="action"> |
259 |
<input type="submit" class="btn btn-primary" value="Submit" /> |
260 |
</fieldset> |
261 |
</form> |
262 |
[% END %] |
242 |
|
263 |
|
243 |
<fieldset class="action"><input type="submit" class="btn btn-primary" value="Submit" /></fieldset> |
264 |
[% IF op %] |
244 |
</form> |
265 |
<form method="post" action="/cgi-bin/koha/tools/inventory.pl"> |
|
|
266 |
[% INCLUDE 'csrf-token.inc' %] |
267 |
<input type="hidden" name="minlocation" value="[% minlocation | html %]" /> |
268 |
<input type="hidden" name="maxlocation" value="[% maxlocation | html %]" /> |
269 |
<input type="hidden" name="location" value="[% location | html %]" /> |
270 |
<input type="hidden" name="branchcode" value="[% branchcode | html %]" /> |
271 |
<input type="hidden" name="datelastseen" value="[% datelastseen | html %]" /> |
272 |
<input type="hidden" name="ccode" value="[% ccode | html %]" /> |
273 |
|
274 |
[% UNLESS uploadedbarcodesflag %] |
275 |
<div><a href="#" class="checkall"><i class="fa fa-check"></i> Select all</a> <a href="#" class="clearall"><i class="fa fa-times"></i> Clear all</a></div> |
276 |
[% END %] |
245 |
|
277 |
|
246 |
[% END %] |
278 |
<div class="page-section"> |
247 |
[% IF (op) %] |
279 |
<table id="inventoryt"> |
248 |
<form method="post" action="/cgi-bin/koha/tools/inventory.pl"> |
280 |
<thead> |
249 |
[% INCLUDE 'csrf-token.inc' %] |
281 |
<tr> |
250 |
<input type="hidden" name="minlocation" value="[% minlocation | html %]" /> |
282 |
[% UNLESS uploadedbarcodesflag %] |
251 |
<input type="hidden" name="maxlocation" value="[% maxlocation | html %]" /> |
283 |
<th>Seen</th> |
252 |
<input type="hidden" name="location" value="[% location | html %]" /> |
284 |
[% END %] |
253 |
<input type="hidden" name="branchcode" value="[% branchcode | html %]" /> |
285 |
<th>Barcode</th> |
254 |
<input type="hidden" name="datelastseen" value="[% datelastseen | html %]" /> |
286 |
<th>Call number</th> |
255 |
<input type="hidden" name="ccode" value="[% ccode | html %]" /> |
287 |
<th>Library</th> |
256 |
|
288 |
<th>Collection code</th> |
257 |
[% UNLESS uploadedbarcodesflag %] |
289 |
<th class="anti-the">Title</th> |
258 |
<div><a href="#" class="checkall"><i class="fa fa-check"></i> Select all</a> <a href="#" class="clearall"><i class="fa fa-times"></i> Clear all</a></div> |
290 |
<th>Not for loan</th> |
259 |
[% END %] |
291 |
<th>Lost</th> |
|
|
292 |
<th>Damaged</th> |
293 |
<th>Withdrawn</th> |
294 |
<th>Last seen</th> |
295 |
<th>Problems</th> |
296 |
</tr> |
297 |
</thead> |
298 |
<tbody> |
299 |
[% FOREACH result IN loop %] |
300 |
<tr> |
301 |
[% UNLESS uploadedbarcodesflag %] |
302 |
<td> |
303 |
<input type="checkbox" name="SEEN-[% result.itemnumber | html %]" value="1" /> |
304 |
</td> |
305 |
[% END %] |
260 |
|
306 |
|
261 |
<div class="page-section"> |
307 |
<td> |
262 |
<table id="inventoryt"> |
308 |
[% result.barcode | html %] |
263 |
<thead> |
309 |
</td> |
264 |
<tr> |
310 |
|
265 |
[% UNLESS uploadedbarcodesflag %]<th>Seen</th>[% END %] |
311 |
<td data-order="[% result.cn_sort | html %]"> |
266 |
<th>Barcode</th> |
312 |
[% result.itemcallnumber | html %] |
267 |
<th>Call number</th> |
313 |
</td> |
268 |
<th>Library</th> |
314 |
|
269 |
<th>Collection code</th> |
315 |
<td> |
270 |
<th class="anti-the">Title</th> |
316 |
[% Branches.GetName( result.homebranch ) | html %] |
271 |
<th>Not for loan</th> |
317 |
<span class="shelvingloc">[% result.location | html %]</span> |
272 |
<th>Lost</th> |
318 |
</td> |
273 |
<th>Damaged</th> |
319 |
|
274 |
<th>Withdrawn</th> |
320 |
<td> |
275 |
<th>Last seen</th> |
321 |
<span class="ccode">[% result.ccode | html %]</span> |
276 |
<th>Problems</th> |
322 |
</td> |
277 |
</tr> |
323 |
|
278 |
</thead> |
324 |
<td> |
279 |
<tbody> |
325 |
<a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% result.biblionumber | uri %]" class="openWin">[% result.title | html %]</a> |
280 |
[% FOREACH result IN loop %] |
326 |
[% IF ( result.author ) %] |
281 |
<tr> |
327 |
by <span class="author">[% result.author | html %]</span> |
282 |
[% UNLESS uploadedbarcodesflag %] |
328 |
[% END %] |
283 |
<td> |
329 |
</td> |
284 |
<input type="checkbox" name="SEEN-[% result.itemnumber | html %]" value="1" /> |
330 |
|
285 |
</td> |
331 |
<td> |
286 |
[% END %] |
332 |
[% result.notforloan | html %] |
287 |
<td> |
333 |
</td> |
288 |
[% result.barcode | html %] |
334 |
|
289 |
</td> |
335 |
<td> |
290 |
<td data-order="[% result.cn_sort | html %]"> |
336 |
[% result.itemlost | html %] |
291 |
[% result.itemcallnumber | html %] |
337 |
</td> |
292 |
</td> |
338 |
|
293 |
<td> |
339 |
<td> |
294 |
[% Branches.GetName( result.homebranch ) | html %] |
340 |
[% result.damaged | html %] |
295 |
<span class="shelvingloc">[% result.location | html %]</span> |
341 |
</td> |
296 |
</td> |
342 |
|
297 |
<td> |
343 |
<td> |
298 |
<span class="ccode">[% result.ccode | html %]</span> |
344 |
[% result.withdrawn | html %] |
299 |
</td> |
345 |
</td> |
300 |
<td> |
346 |
|
301 |
<a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% result.biblionumber | uri %]" class="openWin">[% result.title | html %]</a> |
347 |
<td data-order="[% result.datelastseen | html %]"> |
302 |
[% IF ( result.author ) %] |
348 |
[% result.datelastseen | $KohaDates with_hours => 1 %] |
303 |
by <span class="author">[% result.author | html %]</span> |
349 |
</td> |
304 |
[% END %] |
350 |
|
305 |
</td> |
351 |
<td> |
306 |
<td> |
352 |
[% FOREACH problem IN result.problems %] |
307 |
[% result.notforloan | html %] |
353 |
[% IF problem.key == 'wrongplace' %] |
308 |
</td> |
354 |
<span>Found in wrong place</span><br/> |
309 |
<td> |
355 |
[% ELSIF problem.key == 'changestatus' %] |
310 |
[% result.itemlost | html %] |
356 |
[% IF result.notforloan %] |
311 |
</td> |
357 |
<span>Item has unselected "Not for loan" status "[% result.notforloan | html %]"</span><br/> |
312 |
<td> |
358 |
[% ELSE %] |
313 |
[% result.damaged | html %] |
359 |
<span>Items has no "not for loan" status</span><br/> |
314 |
</td> |
360 |
[% END %] |
315 |
<td> |
361 |
[% ELSIF problem.key == 'not_scanned' %] |
316 |
[% result.withdrawn | html %] |
362 |
<span>Missing (not scanned)</span><br/> |
317 |
</td> |
363 |
[% ELSIF problem.key == 'checkedout' %] |
318 |
<td data-order="[% result.datelastseen | html %]"> |
364 |
<span>Still checked out</span><br/> |
319 |
[% result.datelastseen | $KohaDates with_hours => 1 %] |
365 |
[% ELSIF problem.key == 'no_barcode' %] |
320 |
</td> |
366 |
<span>No barcode</span><br/> |
321 |
<td> |
367 |
[% ELSIF problem.key == 'out_of_order' %] |
322 |
[% FOREACH problem IN result.problems %] |
368 |
<span>Item may be shelved out of order</span><br/> |
323 |
[% IF problem.key == 'wrongplace' %] |
369 |
[% END %] |
324 |
<span>Found in wrong place</span><br/> |
370 |
[% END %] |
325 |
[% ELSIF problem.key == 'changestatus' %] |
371 |
</td> |
326 |
[% IF result.notforloan %] |
372 |
</tr> |
327 |
<span>Item has unselected "Not for loan" status "[% result.notforloan | html %]"</span><br/> |
373 |
[% END %] |
328 |
[% ELSE %] |
374 |
</tbody> |
329 |
<span>Items has no "not for loan" status</span><br/> |
375 |
</table> |
|
|
376 |
</div> |
377 |
|
378 |
<div class="spacer"></div> |
379 |
|
380 |
[% UNLESS uploadedbarcodesflag %] |
381 |
<div style="padding : .3em 0"><a href="#" class="checkall"><i class="fa fa-check"></i> Select all</a> <a href="#" class="clearall"><i class="fa fa-times"></i> Clear all</a></div> |
382 |
<input type="submit" id="markseenandquit" class="btn btn-primary" value="Mark seen and quit" /> |
383 |
<input type="submit" value="Mark seen and continue >>" id="markseenandcontinuebutton" /> |
384 |
<input type="submit" value="Continue without marking >>" id="continuewithoutmarkingbutton" class="submit" /> |
330 |
[% END %] |
385 |
[% END %] |
331 |
[% ELSIF problem.key == 'not_scanned' %] |
386 |
</form> |
332 |
<span>Missing (not scanned)</span><br/> |
|
|
333 |
[% ELSIF problem.key == 'checkedout' %] |
334 |
<span>Still checked out</span><br/> |
335 |
[% ELSIF problem.key == 'no_barcode' %] |
336 |
<span>No barcode</span><br/> |
337 |
[% ELSIF problem.key == 'out_of_order' %] |
338 |
<span>Item may be shelved out of order</span><br/> |
339 |
[% END %] |
387 |
[% END %] |
340 |
[% END %] |
|
|
341 |
</td> |
342 |
</tr> |
343 |
[% END %] |
344 |
</tbody> |
345 |
</table> |
346 |
</div> |
347 |
|
348 |
<div class="spacer"></div> |
349 |
[% UNLESS uploadedbarcodesflag %] |
350 |
<div style="padding : .3em 0"><a href="#" class="checkall"><i class="fa fa-check"></i> Select all</a> <a href="#" class="clearall"><i class="fa fa-times"></i> Clear all</a></div> |
351 |
<input type="submit" id="markseenandquit" class="btn btn-primary" value="Mark seen and quit" /> |
352 |
<input type="submit" value="Mark seen and continue >>" id="markseenandcontinuebutton" /> |
353 |
<input type="submit" value="Continue without marking >>" id="continuewithoutmarkingbutton" class="submit" /> |
354 |
[% END %] |
355 |
</form> |
356 |
|
357 |
|
358 |
[% END %] |
359 |
|
388 |
|
360 |
</main> |
389 |
</main> |
361 |
</div> <!-- /.col-sm-10.col-sm-push-2 --> |
390 |
</div> <!-- /.col-sm-10.col-sm-push-2 --> |
362 |
- |
|
|