|
Lines 13-21
Link Here
|
| 13 |
<li><a href="#">Placing a hold</a></li> |
13 |
<li><a href="#">Placing a hold</a></li> |
| 14 |
</ul> |
14 |
</ul> |
| 15 |
|
15 |
|
| 16 |
<div class="container-fluid"> |
16 |
<div class="container"> |
| 17 |
<div class="row-fluid"> |
17 |
|
| 18 |
<div class="span12"> |
|
|
| 19 |
<div id="holds"> |
18 |
<div id="holds"> |
| 20 |
[% IF ( message ) %] |
19 |
[% IF ( message ) %] |
| 21 |
[% IF ( GNA ) %] |
20 |
[% IF ( GNA ) %] |
|
Lines 93-98
Link Here
|
| 93 |
[% END %] |
92 |
[% END %] |
| 94 |
</h3> |
93 |
</h3> |
| 95 |
[% END # / UNLESS none_available %] |
94 |
[% END # / UNLESS none_available %] |
|
|
95 |
|
| 96 |
[% IF (RESERVE_CHARGE) %] |
96 |
[% IF (RESERVE_CHARGE) %] |
| 97 |
<div class="alert" id="reserve_fee"> |
97 |
<div class="alert" id="reserve_fee"> |
| 98 |
There is a charge of [% RESERVE_CHARGE %] for placing this hold |
98 |
There is a charge of [% RESERVE_CHARGE %] for placing this hold |
|
Lines 104-398
Link Here
|
| 104 |
<!-- These values are set dynamically by js --> |
104 |
<!-- These values are set dynamically by js --> |
| 105 |
<input type="hidden" name="biblionumbers" id="biblionumbers"/> |
105 |
<input type="hidden" name="biblionumbers" id="biblionumbers"/> |
| 106 |
<input type="hidden" name="selecteditems" id="selections"/> |
106 |
<input type="hidden" name="selecteditems" id="selections"/> |
| 107 |
|
|
|
| 108 |
<div id="bigloop"> |
107 |
<div id="bigloop"> |
| 109 |
<table id="bibitemloop" class="table table-bordered table-striped"> |
108 |
|
| 110 |
[% UNLESS ( none_available ) %] |
109 |
[% FOREACH bibitemloo IN bibitemloop %] |
| 111 |
<tr> |
110 |
<div class="holdrow"> |
| 112 |
<th>Hold</th> |
111 |
<p> |
| 113 |
<th>Title</th> |
|
|
| 114 |
[% UNLESS ( item_level_itypes ) %] |
| 115 |
<th>Item type</th> |
| 116 |
[% END %] |
| 117 |
|
| 118 |
[% IF showholds && showpriority %] |
| 119 |
<th>Holds and priority</th> |
| 120 |
[% ELSIF showholds %] |
| 121 |
<th>Holds</th> |
| 122 |
[% ELSIF showpriority %] |
| 123 |
<th>Priority</th> |
| 124 |
[% END %] |
| 125 |
|
| 126 |
[% IF ( reserve_in_future ) %] |
| 127 |
<th>Hold starts on date</th> |
| 128 |
[% END %] |
| 129 |
|
| 130 |
[% IF ( OpacHoldNotes ) %] |
| 131 |
<th>Notes</th> |
| 132 |
[% END %] |
| 133 |
|
| 134 |
<th>Hold not needed after</th> |
| 135 |
[% IF ( OPACItemHolds ) %] |
| 136 |
<th id="place_on_hdr" style="display:none">Place on</th> |
| 137 |
[% END %] |
| 138 |
|
| 139 |
[% UNLESS ( singleBranchMode ) %] |
| 140 |
[% IF ( choose_branch ) %] |
| 141 |
<th>Pickup location</th> |
| 142 |
[% END %] |
| 143 |
[% END %] |
| 144 |
</tr> |
| 145 |
[% ELSE %] |
| 146 |
<tr><th colspan="[% itemtable_colspan + 1 %]">Title</th></tr> |
| 147 |
[% END # / UNLESS none_available%] |
| 148 |
|
| 149 |
[% FOREACH bibitemloo IN bibitemloop %] |
| 150 |
<tr> |
| 151 |
[% IF ( bibitemloo.holdable ) %] |
112 |
[% IF ( bibitemloo.holdable ) %] |
| 152 |
<td class="hold"> |
113 |
<input class="reserve_mode" name="reserve_mode" type="hidden" value="single"/> |
| 153 |
<input class="reserve_mode" name="reserve_mode" type="hidden" value="single"/> |
114 |
<input class="single_bib" name="single_bib" type="hidden" value="[% bibitemloo.biblionumber %]"/> |
| 154 |
<input class="single_bib" name="single_bib" type="hidden" value="[% bibitemloo.biblionumber %]"/> |
115 |
<span class="confirmjs_hold" title="[% bibitemloo.biblionumber %]" style="padding:.3em"></span> |
| 155 |
<span class="confirmjs_hold" title="[% bibitemloo.biblionumber %]"></span> |
116 |
<span class="confirm_nonjs"> |
| 156 |
<span class="confirm_nonjs"> |
117 |
<input type="radio" class="confirmbox checkitem [% bibitemloo.biblionumber %]" name="[% bibitemloo.biblionumber %]" checked="checked" id="single_[% bibitemloo.biblionumber %]" value="any" /> |
| 157 |
<input type="radio" class="confirmbox checkitem_[% bibitemloo.biblionumber %]" name="checkitem_[% bibitemloo.biblionumber %]" checked="checked" id="checkitem_[% bibitemloo.biblionumber %]" value="any" /> |
118 |
<label class="confirm_label" for="single_[% bibitemloo.biblionumber %]">Place a hold on </label> |
| 158 |
<label class="confirm_label" for="checkitem_[% bibitemloo.biblionumber %]">Next available copy</label> |
119 |
</span> |
| 159 |
</span> |
120 |
[% END # / bibitemloo.holdable %] |
| 160 |
</td> |
121 |
|
| 161 |
[% ELSE %] |
122 |
<a class="title" href="/cgi-bin/koha/opac-detail.pl?biblionumber=[% bibitemloo.biblionumber %]"> |
| 162 |
[% UNLESS ( none_available ) %] |
123 |
[% bibitemloo.title |html %] |
| 163 |
<td class="hold"> </td> |
124 |
[% IF ( bibitemloo.subtitle ) %] |
|
|
125 |
[% FOREACH subtitl IN bibitemloo.subtitle %] |
| 126 |
[% subtitl.subfield %] |
| 127 |
[% END %] |
| 164 |
[% END %] |
128 |
[% END %] |
| 165 |
[% END # / IF biblioloo.holdable %] |
129 |
</a> |
|
|
130 |
[% IF ( bibitemloo.author ) %], by [% bibitemloo.author %][% END %] |
| 131 |
</p> |
| 166 |
|
132 |
|
| 167 |
[% IF ( bibitemloo.holdable ) %] |
133 |
[% UNLESS ( bibitemloo.holdable ) %] |
| 168 |
<td class="title"> |
134 |
[% IF ( bibitemloo.already_reserved ) %] |
|
|
135 |
<div class="alert">You have already requested this title.</div> |
| 169 |
[% ELSE %] |
136 |
[% ELSE %] |
| 170 |
<td class="title" colspan="[% itemtable_colspan + 1 %]"> |
137 |
[% UNLESS ( bibitemloo.bib_available ) %] |
| 171 |
[% END %] |
138 |
<div class="alert">No available items.</div> |
| 172 |
<a href="/cgi-bin/koha/opac-detail.pl?biblionumber=[% bibitemloo.biblionumber %]">[% bibitemloo.title |html %][% IF ( bibitemloo.subtitle ) %] [% FOREACH subtitl IN bibitemloo.subtitle %][% subtitl.subfield %][% END %][% END %]</a> |
139 |
[% ELSE %] |
| 173 |
[% IF ( bibitemloo.author ) %], by [% bibitemloo.author %][% END %] |
140 |
[% IF ( bibitemloo.already_patron_possession ) %] |
| 174 |
[% UNLESS ( bibitemloo.holdable ) %] |
141 |
<div class="alert">This title cannot be requested because it's already in your possession.</div> |
| 175 |
[% IF ( bibitemloo.already_reserved ) %] |
|
|
| 176 |
<div class="hold-message">You have already requested this title.</div> |
| 177 |
[% ELSE %] |
142 |
[% ELSE %] |
| 178 |
[% UNLESS ( bibitemloo.bib_available ) %] |
143 |
<div class="alert">This title cannot be requested.</div> |
| 179 |
<div class="hold-message">No available items.</div> |
144 |
[% END %] |
| 180 |
[% ELSE %] |
145 |
[% END # / UNLESS bibitemloo.bib_available %] |
| 181 |
[% IF ( bibitemloo.already_patron_possession ) %] |
146 |
[% END # / IF bibitemloo.already_reserved %] |
| 182 |
<div class="hold-message">This title cannot be requested because it's already in your possession.</div> |
147 |
[% END # / UNLESS bibitemloo.holdable %] |
| 183 |
[% ELSE %] |
148 |
|
| 184 |
<div class="hold-message">This title cannot be requested.</div> |
149 |
[% IF ( bibitemloo.holdable ) %] |
| 185 |
[% END %] |
150 |
<fieldset class="rows"> |
| 186 |
[% END # / UNLESS biblioitemloo.bib_available %] |
151 |
<ul> |
| 187 |
[% END # / IF bibitemloo.already_reserved %] |
|
|
| 188 |
[% END # / UNLESS bibitemloo.holdable %] |
| 189 |
</td> |
| 190 |
[% IF ( bibitemloo.holdable ) %] |
| 191 |
<!-- HOLDABLE --> |
152 |
<!-- HOLDABLE --> |
| 192 |
[% UNLESS ( item_level_itypes ) %] |
153 |
[% UNLESS ( item_level_itypes ) %] |
| 193 |
<td class="itype"> |
154 |
<li class="itype"> |
|
|
155 |
<span class="label">Item type: </span> |
| 194 |
[% IF ( bibitemloo.imageurl ) %]<img src="[% bibitemloo.imageurl %]" alt="" />[% END %] |
156 |
[% IF ( bibitemloo.imageurl ) %]<img src="[% bibitemloo.imageurl %]" alt="" />[% END %] |
| 195 |
[% bibitemloo.description %] |
157 |
[% bibitemloo.description %] |
| 196 |
</td> |
158 |
</li> |
| 197 |
[% END %] |
159 |
[% END %] |
|
|
160 |
|
| 198 |
[% IF showholds || showpriority %] |
161 |
[% IF showholds || showpriority %] |
| 199 |
<td class="priority"> |
162 |
<li class="priority"> |
|
|
163 |
<span class="label">Holds and priority: </span> |
| 200 |
[% IF showpriority %] [% bibitemloo.rank %] [% END %] |
164 |
[% IF showpriority %] [% bibitemloo.rank %] [% END %] |
| 201 |
[% IF showholds && showpriority %] out of [% END %] |
165 |
[% IF showholds && showpriority %] out of [% END %] |
| 202 |
[% IF showholds %] [% bibitemloo.reservecount %] [% END %] |
166 |
[% IF showholds %] [% bibitemloo.reservecount %] [% END %] |
| 203 |
</td> |
167 |
</li> |
| 204 |
[% END %] |
|
|
| 205 |
[% IF ( reserve_in_future ) %] |
| 206 |
<td class="reserve_date"> |
| 207 |
<input name="reserve_date_[% bibitemloo.biblionumber %]" id="from" size="10" class="datepickerfrom"/> |
| 208 |
<p><a href="#" class="clearfield">Clear date</a></p> |
| 209 |
</td> |
| 210 |
[% END # / IF reserve_in_future %] |
| 211 |
|
| 212 |
[% IF ( OpacHoldNotes && bibitemloo.holdable ) %] |
| 213 |
<td><input type="button" id="shownotes_[% bibitemloo.biblionumber %]" class="btn shownotes" value="Show notes"/></td> |
| 214 |
[% END %] |
168 |
[% END %] |
| 215 |
|
169 |
|
| 216 |
<td class="expiration_date"> |
|
|
| 217 |
<input name="expiration_date_[% bibitemloo.biblionumber %]" id="to" size="10" class="datepickerto" /> |
| 218 |
<p><a href="#" class="clearfield">Clear date</a></p> |
| 219 |
</td> |
| 220 |
|
170 |
|
| 221 |
[% IF ( OPACItemHolds ) %] |
171 |
[% UNLESS ( singleBranchMode ) %] |
| 222 |
<!-- ITEM HOLDS --> |
172 |
[% IF ( bibitemloo.holdable && choose_branch ) %] |
| 223 |
<td class="place_on_type" style="display:none"> |
173 |
<li class="branch"> |
| 224 |
<label for="reqany_[% bibitemloo.biblionumber %]"> |
174 |
<label for="branch_[% bibitemloo.biblionumber %]">Pick up location:</label> |
| 225 |
[% UNLESS ( bibitemloo.holdable ) %] |
175 |
[% UNLESS ( bibitemloo.holdable ) %] |
| 226 |
<input type="radio" name="reqtype_[% bibitemloo.biblionumber %]" id="reqany_[% bibitemloo.biblionumber %]" class="selectany" value="Any" disabled="disabled" /> |
176 |
<select name="branch" id="branch_[% bibitemloo.biblionumber %]" disabled="disabled"> |
| 227 |
[% ELSE %] |
177 |
[% FOREACH branchloo IN bibitemloo.branchloop %] |
| 228 |
<input type="radio" name="reqtype_[% bibitemloo.biblionumber %]" id="reqany_[% bibitemloo.biblionumber %]" class="selectany" value="Any" checked="checked" /> |
178 |
[% IF ( branchloo.selected ) %] |
| 229 |
[% END %] |
179 |
<option value="[% branchloo.branchcode %]" selected="selected">[% branchloo.branchname %]</option> |
| 230 |
Next available copy |
180 |
[% ELSE %] |
| 231 |
</label> |
181 |
<option value="[% branchloo.branchcode %]">[% branchloo.branchname %]</option> |
| 232 |
<label for="reqspecific_[% bibitemloo.biblionumber %]"> |
182 |
[% END %] |
| 233 |
[% UNLESS ( bibitemloo.holdable ) %] |
183 |
[% END %] |
| 234 |
<input type="radio" name="reqtype_[% bibitemloo.biblionumber %]" id="reqspecific_[% bibitemloo.biblionumber %]" class="selectspecific" disabled="disabled" value="Specific" /> |
184 |
</select> |
| 235 |
[% ELSE %] |
185 |
[% ELSE %] |
| 236 |
<input type="radio" name="reqtype_[% bibitemloo.biblionumber %]" id="reqspecific_[% bibitemloo.biblionumber %]" class="selectspecific" value="Specific" /> |
186 |
<select name="branch" id="branch_[% bibitemloo.biblionumber %]"> |
| 237 |
[% END %] |
187 |
[% FOREACH branchloo IN bibitemloo.branchloop %] |
| 238 |
A specific copy |
188 |
[% IF ( branchloo.selected ) %] |
| 239 |
</label> |
189 |
<option value="[% branchloo.branchcode %]" selected="selected">[% branchloo.branchname %]</option> |
| 240 |
</td> |
190 |
[% ELSE %] |
| 241 |
[% END # / IF OPACItemHolds %] |
191 |
<option value="[% branchloo.branchcode %]">[% branchloo.branchname %]</option> |
| 242 |
[% END # / IF bibitemloo.holdable %] |
192 |
[% END %] |
| 243 |
|
193 |
[% END %] |
| 244 |
[% UNLESS ( singleBranchMode ) %] |
194 |
</select> |
| 245 |
[% IF ( bibitemloo.holdable && choose_branch ) %] |
195 |
[% END # / UNLESS bibitemloo.holdable %] |
| 246 |
<td class="branch"> |
196 |
</li> |
| 247 |
[% UNLESS ( bibitemloo.holdable ) %] |
197 |
[% END # / IF bibitemloo.holdable && choose_branch %] |
| 248 |
<select name="branch" id="branch_[% bibitemloo.biblionumber %]" disabled="disabled"> |
198 |
[% END # / UNLESS singleBranchMode %] |
| 249 |
[% FOREACH branchloo IN bibitemloo.branchloop %] |
199 |
</ul> |
| 250 |
[% IF ( branchloo.selected ) %] |
200 |
|
| 251 |
<option value="[% branchloo.branchcode %]" selected="selected">[% branchloo.branchname %]</option> |
201 |
<a class="toggle-hold-options" id="toggle-hold-options-[% bibitemloo.biblionumber %]" style="display:none;" href="#">Show more options</a> |
| 252 |
[% ELSE %] |
202 |
|
| 253 |
<option value="[% branchloo.branchcode %]">[% branchloo.branchname %]</option> |
203 |
<div id="hold-options-[% bibitemloo.biblionumber %]" class="hold-options"> |
| 254 |
[% END %] |
204 |
|
|
|
205 |
<ul> |
| 206 |
[% IF ( reserve_in_future ) %] |
| 207 |
<li> |
| 208 |
<label for="from[% bibitemloo.biblionumber %]">Hold starts on date:</label> |
| 209 |
<input name="reserve_date_[% bibitemloo.biblionumber %]" id="from[% bibitemloo.biblionumber %]" size="10" class="holddatefrom"/> |
| 210 |
<span class="date-format from" data-biblionumber="[% bibitemloo.biblionumber %]">[% INCLUDE 'date-format.inc' %]</span> |
| 211 |
</li> |
| 212 |
[% END %] |
| 213 |
|
| 214 |
<li> |
| 215 |
<label for="to[% bibitemloo.biblionumber %]">Hold not needed after:</label> |
| 216 |
<input name="expiration_date_[% bibitemloo.biblionumber %]" id="to[% bibitemloo.biblionumber %]" size="10" class="holddateto" /> |
| 217 |
<span class="date-format to" data-biblionumber="[% bibitemloo.biblionumber %]">[% INCLUDE 'date-format.inc' %]</span> |
| 218 |
</li> |
| 219 |
|
| 220 |
[% IF ( OpacHoldNotes ) %] |
| 221 |
<li> |
| 222 |
<div class="notesrow" id="notesrow_[% bibitemloo.biblionumber %]"> |
| 223 |
<label for="holdnotes[% bibitemloo.biblionumber %]">Hold notes:</label> |
| 224 |
<span id="forcenotesreason_[% bibitemloo.biblionumber %]" class="forcenotesreason"></span> |
| 225 |
<textarea id="holdnotes[% bibitemloo.biblionumber %]" rows="2" cols="30" name="notes_[% bibitemloo.biblionumber %]">[% bibitemloo.holdnotes %]</textarea> |
| 226 |
<input type="hidden" id="notesmandatory_[% bibitemloo.biblionumber %]" value="[% bibitemloo.mandatorynotes %]"/> |
| 227 |
</div> |
| 228 |
</li> |
| 229 |
[% END # / IF OpacHoldNotes %] |
| 230 |
|
| 231 |
[% IF ( OPACItemHolds ) %] |
| 232 |
<!-- ITEM HOLDS --> |
| 233 |
<li class="lradio"> |
| 234 |
<label class="radio inline" for="reqany_[% bibitemloo.biblionumber %]">Next available copy</label> |
| 235 |
[% UNLESS ( bibitemloo.holdable ) %] |
| 236 |
<input type="radio" name="reqtype_[% bibitemloo.biblionumber %]" id="reqany_[% bibitemloo.biblionumber %]" class="selectany" value="Any" disabled="disabled" /> |
| 237 |
[% ELSE %] |
| 238 |
<input type="radio" name="reqtype_[% bibitemloo.biblionumber %]" id="reqany_[% bibitemloo.biblionumber %]" class="selectany" value="Any" checked="checked" /> |
| 255 |
[% END %] |
239 |
[% END %] |
| 256 |
</select> |
240 |
|
| 257 |
[% ELSE %] |
241 |
<label class="radio inline" for="reqspecific_[% bibitemloo.biblionumber %]">A specific copy</label> |
| 258 |
<select name="branch" id="branch_[% bibitemloo.biblionumber %]"> |
242 |
[% UNLESS ( bibitemloo.holdable ) %] |
| 259 |
[% FOREACH branchloo IN bibitemloo.branchloop %] |
243 |
<input type="radio" name="reqtype_[% bibitemloo.biblionumber %]" id="reqspecific_[% bibitemloo.biblionumber %]" class="selectspecific" disabled="disabled" value="Specific" /> |
| 260 |
[% IF ( branchloo.selected ) %] |
244 |
[% ELSE %] |
| 261 |
<option value="[% branchloo.branchcode %]" selected="selected">[% branchloo.branchname %]</option> |
245 |
<input type="radio" name="reqtype_[% bibitemloo.biblionumber %]" id="reqspecific_[% bibitemloo.biblionumber %]" class="selectspecific" value="Specific" /> |
| 262 |
[% ELSE %] |
|
|
| 263 |
<option value="[% branchloo.branchcode %]">[% branchloo.branchname %]</option> |
| 264 |
[% END %] |
| 265 |
[% END %] |
246 |
[% END %] |
| 266 |
</select> |
247 |
</li> |
| 267 |
[% END # / UNLESS bibitemloo.holdable %] |
248 |
[% END # / IF OPACItemHolds %] |
| 268 |
</td> |
249 |
</ul> |
| 269 |
[% END %] |
250 |
|
| 270 |
[% END # / UNLESS singleBranchMode %] |
251 |
[% IF ( OPACItemHolds ) %] |
| 271 |
</tr> |
252 |
<table class="copiesrow table table-bordered table-striped" id="copiesrow_[% bibitemloo.biblionumber %]"> |
| 272 |
|
253 |
<caption>Select a specific copy:</caption> |
| 273 |
[% IF ( OpacHoldNotes && bibitemloo.holdable ) %] |
254 |
<tr> |
| 274 |
<tr class="notesrow" id="notesrow_[% bibitemloo.biblionumber %]"> |
255 |
<th>Copy</th> |
| 275 |
<td> </td> |
|
|
| 276 |
<td colspan="[% itemtable_colspan - 2 %]"> |
| 277 |
<label for="notes_[% bibitemloo.biblionumber %]">Hold notes:</label> |
| 278 |
<span id="forcenotesreason_[% bibitemloo.biblionumber %]" class="forcenotesreason"></span> |
| 279 |
<textarea id="notes_[% bibitemloo.biblionumber %]" name="notes_[% bibitemloo.biblionumber %]">[% bibitemloo.holdnotes %]</textarea> |
| 280 |
<input type="hidden" id="notesmandatory_[% bibitemloo.biblionumber %]" value="[% bibitemloo.mandatorynotes %]"/> |
| 281 |
</td> |
| 282 |
</tr> |
| 283 |
[% END %] |
| 284 |
|
| 285 |
[% IF ( OPACItemHolds && bibitemloo.holdable ) %] |
| 286 |
<tr class="copiesrow" id="copiesrow_[% bibitemloo.biblionumber %]"> |
| 287 |
<td> </td> |
| 288 |
<td colspan="[% itemtable_colspan - 2 %]"> |
| 289 |
<table class="table table-bordered table-striped"> |
| 290 |
<caption>Select a specific copy:</caption> |
| 291 |
<tr> |
| 292 |
<th>Copy</th> |
| 293 |
[% IF ( item_level_itypes ) %] |
| 294 |
<th>Item type</th> |
| 295 |
[% END %] |
| 296 |
<th>Barcode</th> |
| 297 |
[% UNLESS ( singleBranchMode ) %] |
| 298 |
<th>Home library</th> |
| 299 |
<th>Last location</th> |
| 300 |
[% END %] |
| 301 |
<th>Call number</th> |
| 302 |
[% IF ( itemdata_enumchron ) %] |
| 303 |
<th>Vol info</th> |
| 304 |
[% END %] |
| 305 |
<th>Information</th> |
| 306 |
</tr> |
| 307 |
|
| 308 |
[% FOREACH itemLoo IN bibitemloo.itemLoop %] |
| 309 |
<tr class="[% itemLoo.backgroundcolor %]"> |
| 310 |
<td class="copy"> |
| 311 |
[% IF ( itemLoo.available ) %] |
| 312 |
<input type="radio" class="checkitem checkitem_[% bibitemloo.biblionumber %]" name="checkitem_[% bibitemloo.biblionumber %]" value="[% itemLoo.itemnumber %]" /> |
| 313 |
[% ELSE %] |
| 314 |
<input disabled="disabled" type="radio" class="checkitem" name="checkitem" value="[% itemLoo.itemnumber %]" /> |
| 315 |
<img src="/opac-tmpl/lib/famfamfam/silk/cross.png" alt="Cannot be put on hold" title="Cannot be put on hold" /> |
| 316 |
[% END %] |
| 317 |
[% IF ( itemLoo.copynumber ) %] |
| 318 |
[% itemLoo.copynumber %] |
| 319 |
[% END %] |
| 320 |
</td> |
| 321 |
[% IF ( item_level_itypes ) %] |
256 |
[% IF ( item_level_itypes ) %] |
| 322 |
<td class="itype"> |
257 |
<th>Item type</th> |
| 323 |
[% UNLESS ( noItemTypeImages ) %] |
|
|
| 324 |
[% IF ( itemLoo.imageurl ) %] |
| 325 |
<img src="[% itemLoo.imageurl %]" alt="" /> |
| 326 |
[% END %] |
| 327 |
[% END %] |
| 328 |
[% itemLoo.description %] |
| 329 |
</td> |
| 330 |
[% END %] |
258 |
[% END %] |
| 331 |
<td class="barcode">[% itemLoo.barcode %]</td> |
259 |
<th>Barcode</th> |
| 332 |
[% UNLESS ( singleBranchMode ) %] |
260 |
[% UNLESS ( singleBranchMode ) %] |
| 333 |
<td class="homebranch">[% itemLoo.homeBranchName %]</td> |
261 |
<th>Home library</th> |
| 334 |
<td class="holdingbranch">[% itemLoo.holdingBranchName %]</td> |
262 |
<th>Last location</th> |
| 335 |
[% END %] |
263 |
[% END %] |
| 336 |
<td class="call_no">[% itemLoo.callNumber %]</td> |
264 |
<th>Call number</th> |
| 337 |
[% IF ( itemdata_enumchron ) %] |
265 |
[% IF ( itemdata_enumchron ) %] |
| 338 |
<td class="vol_info">[% itemLoo.enumchron %]</td> |
266 |
<th>Vol info</th> |
| 339 |
[% END %] |
267 |
[% END %] |
| 340 |
<td class="information"> |
268 |
<th>Information</th> |
| 341 |
[% IF ( itemLoo.dateDue ) %] |
269 |
</tr> |
| 342 |
<span class="checkedout">Due [% itemLoo.dateDue %]</span> |
270 |
|
| 343 |
[% ELSIF ( itemLoo.transfertwhen ) %] |
271 |
[% FOREACH itemLoo IN bibitemloo.itemLoop %] |
| 344 |
<span class="intransit">In transit from [% itemLoo.transfertfrom %] to [% itemLoo.transfertto %] since [% itemLoo.transfertwhen %]</span> |
272 |
<tr class="[% itemLoo.backgroundcolor %]"> |
|
|
273 |
<td class="copy"> |
| 274 |
[% IF ( itemLoo.available ) %] |
| 275 |
<input type="radio" class="checkitem checkitem_[% bibitemloo.biblionumber %]" name="checkitem_[% bibitemloo.biblionumber %]" value="[% itemLoo.itemnumber %]" /> |
| 276 |
[% ELSE %] |
| 277 |
<input disabled="disabled" type="radio" class="checkitem" name="checkitem" value="[% itemLoo.itemnumber %]" /> |
| 278 |
<img src="[% interface %]/lib/famfamfam/silk/cross.png" alt="Cannot be put on hold" title="Cannot be put on hold" /> |
| 279 |
[% END %] |
| 280 |
|
| 281 |
[% IF ( itemLoo.copynumber ) %] |
| 282 |
[% itemLoo.copynumber %] |
| 283 |
[% END %] |
| 284 |
</td> |
| 285 |
|
| 286 |
[% IF ( item_level_itypes ) %] |
| 287 |
<td class="itype"> |
| 288 |
[% UNLESS ( noItemTypeImages ) %] |
| 289 |
[% IF ( itemLoo.imageurl ) %] |
| 290 |
<img src="[% itemLoo.imageurl %]" alt="" /> |
| 291 |
[% END %] |
| 292 |
[% END %] |
| 293 |
[% itemLoo.description %] |
| 294 |
</td> |
| 345 |
[% END %] |
295 |
[% END %] |
| 346 |
[% IF ( itemLoo.message ) %] |
296 |
|
| 347 |
<span class="lost">Unavailable (lost or missing)</span> |
297 |
<td class="barcode">[% itemLoo.barcode %]</td> |
|
|
298 |
[% UNLESS ( singleBranchMode ) %] |
| 299 |
<td class="homebranch">[% itemLoo.homeBranchName %]</td> |
| 300 |
<td class="holdingbranch">[% itemLoo.holdingBranchName %]</td> |
| 348 |
[% END %] |
301 |
[% END %] |
| 349 |
[% IF ( itemLoo.notforloan ) %] |
302 |
<td class="call_no">[% itemLoo.callNumber %]</td> |
| 350 |
<span class="notforloan">Not for loan ([% itemLoo.notforloanvalue %])</span> |
303 |
[% IF ( itemdata_enumchron ) %] |
|
|
304 |
<td class="vol_info">[% itemLoo.enumchron %]</td> |
| 351 |
[% END %] |
305 |
[% END %] |
| 352 |
[% IF ( itemLoo.reservedate ) %] |
306 |
<td class="information"> |
| 353 |
<span class="waiting"> |
307 |
[% IF ( itemLoo.dateDue ) %] |
| 354 |
[% IF ( itemLoo.waitingdate ) %] |
308 |
<span class="checkedout">Due [% itemLoo.dateDue %]</span> |
| 355 |
Waiting |
309 |
[% ELSIF ( itemLoo.transfertwhen ) %] |
| 356 |
[% ELSE %] |
310 |
<span class="intransit">In transit from [% itemLoo.transfertfrom %] to [% itemLoo.transfertto %] since [% itemLoo.transfertwhen %]</span> |
| 357 |
On hold |
311 |
[% END %] |
| 358 |
[% END %] |
312 |
|
| 359 |
for patron |
313 |
[% IF ( itemLoo.message ) %] |
| 360 |
[% IF ( itemLoo.waitingdate ) %] |
314 |
<span class="lost">Unavailable (lost or missing)</span> |
| 361 |
at |
315 |
[% END %] |
| 362 |
[% ELSE %] |
316 |
|
| 363 |
expected at |
317 |
[% IF ( itemLoo.notforloan ) %] |
| 364 |
[% END %] |
318 |
<span class="notforloan">Not for loan ([% itemLoo.notforloanvalue %])</span> |
| 365 |
[% itemLoo.ExpectedAtLibrary %] since |
319 |
[% END %] |
| 366 |
[% IF ( itemLoo.waitingdate ) %] |
320 |
|
| 367 |
[% itemLoo.waitingdate %] |
321 |
[% IF ( itemLoo.reservedate ) %] |
| 368 |
[% ELSE %] |
322 |
<span class="waiting"> |
| 369 |
[% IF ( itemLoo.reservedate ) %] |
323 |
[% IF ( itemLoo.waitingdate ) %] |
| 370 |
[% itemLoo.reservedate %] |
324 |
Waiting |
|
|
325 |
[% ELSE %] |
| 326 |
On hold |
| 371 |
[% END %] |
327 |
[% END %] |
| 372 |
[% END %]. |
328 |
for patron |
| 373 |
</span> |
329 |
[% IF ( itemLoo.waitingdate ) %] |
| 374 |
[% ELSE %] |
330 |
at |
| 375 |
<span class="notonhold">Not on hold</span> |
331 |
[% ELSE %] |
| 376 |
[% END # / IF itemLoo.reservedate %] |
332 |
expected at |
| 377 |
</td> |
333 |
[% END %] |
| 378 |
</tr> |
334 |
[% itemLoo.ExpectedAtLibrary %] since |
| 379 |
[% END # / FOREACH itemLoo %] |
335 |
[% IF ( itemLoo.waitingdate ) %] |
| 380 |
</table> |
336 |
[% itemLoo.waitingdate %] |
| 381 |
</td> |
337 |
[% ELSE %] |
| 382 |
</tr> |
338 |
[% IF ( itemLoo.reservedate ) %] |
| 383 |
[% END # / IF OPACItemHolds && bibitemloo.holdable %] |
339 |
[% itemLoo.reservedate %] |
| 384 |
[% END # / FOREACH bibitemloo %] |
340 |
[% END %] |
| 385 |
</table> <!-- / #bibitemloop --> |
341 |
[% END %]. |
| 386 |
</div><!-- / #bigloop --> |
342 |
</span> |
|
|
343 |
[% ELSE %] |
| 344 |
<span class="notonhold">Not on hold</span> |
| 345 |
[% END # / IF ( itemLoo.reservedate )%] |
| 346 |
</td> |
| 347 |
</tr> |
| 348 |
[% END # / FOREACH itemLoo IN bibitemloo.itemLoop%] |
| 349 |
</table> <!-- / #copiesrow_[% bibitemloo.biblionumber %] --> |
| 350 |
[% END # / IF ( OPACItemHolds )%] |
| 351 |
</div> <!-- / #hold-options-[% bibitemloo.biblionumber %] --> |
| 352 |
</fieldset> |
| 353 |
[% END # / IF ( bibitemloo.holdable ) %] |
| 354 |
</div> <!-- / .holdrow --> |
| 355 |
[% END # / FOREACH bibitemloo IN bibitemloop %] |
| 356 |
</div><!-- #bigloop --> |
| 357 |
|
| 387 |
[% UNLESS ( none_available ) %] |
358 |
[% UNLESS ( none_available ) %] |
| 388 |
<input type="submit" value="Place hold" class="btn placehold" /> |
359 |
<input type="submit" value="Place hold" class="btn placehold" /> |
| 389 |
[% END %] |
360 |
[% END %] |
|
|
361 |
|
| 390 |
</form> |
362 |
</form> |
| 391 |
[% END # / UNLESS message %] |
363 |
[% END # / UNLESS message %] |
| 392 |
</div> <!-- / #holds --> |
364 |
</div> <!-- / #holds --> |
| 393 |
</div> <!-- / .span12 --> |
365 |
</div> <!-- / .container --> |
| 394 |
</div> <!-- / .row-fluid --> |
|
|
| 395 |
</div> <!-- / .container-fluid --> |
| 396 |
</div> <!-- / .main --> |
366 |
</div> <!-- / .main --> |
| 397 |
[% INCLUDE 'opac-bottom.inc' %] |
367 |
[% INCLUDE 'opac-bottom.inc' %] |
| 398 |
[% BLOCK jsinclude %] |
368 |
[% BLOCK jsinclude %] |
|
Lines 424-430
Link Here
|
| 424 |
}); |
394 |
}); |
| 425 |
// Hides all 'specific copy' table rows on load. |
395 |
// Hides all 'specific copy' table rows on load. |
| 426 |
$(".copiesrow").hide(); |
396 |
$(".copiesrow").hide(); |
| 427 |
$(".notesrow").hide(); |
|
|
| 428 |
|
397 |
|
| 429 |
// Insert reasons for forced hold notes |
398 |
// Insert reasons for forced hold notes |
| 430 |
$(".forcenotesreason").each(function(){ |
399 |
$(".forcenotesreason").each(function(){ |
|
Lines 437-456
Link Here
|
| 437 |
|
406 |
|
| 438 |
$("#place_on_hdr").show(); |
407 |
$("#place_on_hdr").show(); |
| 439 |
$(".place_on_type").show(); |
408 |
$(".place_on_type").show(); |
|
|
409 |
$("#place_on_hdr,.place_on_type,.toggle-hold-options").show(); |
| 410 |
$(".hold-options").hide(); |
| 411 |
$(".holddatefrom,.holddateto").prop("readOnly", true); |
| 412 |
|
| 413 |
$(".date-format").each(function(){ |
| 414 |
if($(this).hasClass("to")){ var op = "to"; } |
| 415 |
if($(this).hasClass("from")){ var op = "from"; } |
| 416 |
var bibNum = $(this).data("biblionumber"); |
| 417 |
$(this).html("<a href=\"#\" class=\"clear-date\" data-op=\"" + op + "\" id=\"clear" + bibNum + "\">" + _("Clear date") + "</a>"); |
| 418 |
}); |
| 419 |
|
| 420 |
$(".clear-date").on("click",function(e){ |
| 421 |
e.preventDefault(); |
| 422 |
var fieldID = this.id.replace("clear",""); |
| 423 |
var op = $(this).data("op"); |
| 424 |
$("#" + op + fieldID).val(""); |
| 425 |
}); |
| 440 |
|
426 |
|
| 441 |
// Replace non-JS single-selection with multi-selection capability. |
427 |
// Replace non-JS single-selection with multi-selection capability. |
| 442 |
$(".reserve_mode").val("multi"); |
428 |
$(".reserve_mode").val("multi"); |
| 443 |
$(".confirm_nonjs").remove(); |
429 |
$(".confirm_nonjs").remove(); |
| 444 |
$(".confirmjs_hold").each(function(){ |
430 |
$(".confirmjs_hold").each(function(){ |
| 445 |
var bib = $(this).attr("title"); |
431 |
var bib = $(this).attr("title"); |
| 446 |
var html = "<input type =\"checkbox\" class=\"confirmjs\" checked=\"checked\""; |
432 |
var html = "<label><input type =\"checkbox\" class=\"confirmjs\" checked=\"checked\""; |
| 447 |
html += "value=\"" + bib + "\"/>"; |
433 |
html += "value=\"" + bib + "\"/> " + _("Place a hold on") + " </label> "; |
| 448 |
$(this).html(html); |
434 |
$(this).html(html); |
| 449 |
}); |
435 |
}); |
| 450 |
$(".confirmjs_nohold").each(function(){ |
436 |
$(".confirmjs_nohold").each(function(){ |
| 451 |
var bib = $(this).attr("title"); |
437 |
var bib = $(this).attr("title"); |
| 452 |
var html = "<input type =\"checkbox\" class=\"confirmjs\" disabled=\"disabled\""; |
438 |
var html = "<label><input type =\"checkbox\" class=\"confirmjs\" disabled=\"disabled\""; |
| 453 |
html += "value=\"" + bib + "\"/>"; |
439 |
html += "value=\"" + bib + "\"/>" + _("Place a hold on: ") + "</label>"; |
| 454 |
$(this).html(html); |
440 |
$(this).html(html); |
| 455 |
}); |
441 |
}); |
| 456 |
|
442 |
|
|
Lines 485-491
Link Here
|
| 485 |
if (!changeSelection(newCopiesRowId, true)) { |
471 |
if (!changeSelection(newCopiesRowId, true)) { |
| 486 |
return false; |
472 |
return false; |
| 487 |
} |
473 |
} |
| 488 |
$(".copiesrow:not(" + newCopiesRowId + ")").hide(); |
|
|
| 489 |
|
474 |
|
| 490 |
// Show the specific copy table for this radio button. |
475 |
// Show the specific copy table for this radio button. |
| 491 |
$(newCopiesRowId).show(); |
476 |
$(newCopiesRowId).show(); |
|
Lines 502-517
Link Here
|
| 502 |
} |
487 |
} |
| 503 |
|
488 |
|
| 504 |
// Hide the copies table row |
489 |
// Hide the copies table row |
| 505 |
$(".copiesrow").hide(); |
490 |
$(newCopiesRowId).hide(); |
| 506 |
}); |
|
|
| 507 |
|
| 508 |
// Show or hide holds notes |
| 509 |
$(".shownotes").click(function(){ |
| 510 |
biblioNum = suffixOf($(this).attr("id"), "_"); |
| 511 |
$("#notesrow_"+biblioNum).toggle(); |
| 512 |
}); |
491 |
}); |
| 513 |
|
492 |
|
| 514 |
|
|
|
| 515 |
// When 'Place Hold' button is clicked |
493 |
// When 'Place Hold' button is clicked |
| 516 |
$(".placehold").click(function(){ |
494 |
$(".placehold").click(function(){ |
| 517 |
var biblionumbers = ""; |
495 |
var biblionumbers = ""; |
|
Lines 562-567
Link Here
|
| 562 |
return true; |
540 |
return true; |
| 563 |
}); |
541 |
}); |
| 564 |
|
542 |
|
|
|
543 |
$(".toggle-hold-options").on("click",function(e){ |
| 544 |
e.preventDefault(); |
| 545 |
toggleLink = $(this); |
| 546 |
var optionsID = this.id.replace("toggle-hold-options-",""); |
| 547 |
$("#hold-options-"+optionsID).toggle(0, function() { |
| 548 |
toggleLink.text($(this).is(':visible') ? _("Hide options") : _("Show more options")); |
| 549 |
}); |
| 550 |
}); |
| 551 |
|
| 552 |
[% FOREACH bibitemloo IN bibitemloop %] |
| 553 |
[% IF ( bibitemloo.holdable ) %] |
| 554 |
// http://jqueryui.com/demos/datepicker/#date-range |
| 555 |
var dates[% bibitemloo.biblionumber %] = $( "#from[% bibitemloo.biblionumber %], #to[% bibitemloo.biblionumber %]" ).datepicker({ |
| 556 |
minDate: 1, |
| 557 |
changeMonth: true, |
| 558 |
numberOfMonths: 1, |
| 559 |
onSelect: function( selectedDate ) { |
| 560 |
var option = this.id == "from[% bibitemloo.biblionumber %]" ? "minDate" : "maxDate", |
| 561 |
instance = $( this ).data( "datepicker" ); |
| 562 |
date = $.datepicker.parseDate( |
| 563 |
instance.settings.dateFormat || |
| 564 |
$.datepicker._defaults.dateFormat, |
| 565 |
selectedDate, instance.settings ); |
| 566 |
dates[% bibitemloo.biblionumber %].not( this ).datepicker( "option", option, date ); |
| 567 |
} |
| 568 |
}); |
| 569 |
[% END %] |
| 570 |
[% END %] |
| 571 |
|
| 565 |
}); |
572 |
}); |
| 566 |
// ]]> |
573 |
// ]]> |
| 567 |
</script> |
574 |
</script> |