View | Details | Raw Unified | Return to bug 4950
Collapse All | Expand All

(-)a/koha-tmpl/opac-tmpl/prog/en/css/opac.css (-1 / +3 lines)
Lines 1406-1411 div#changelanguage{ Link Here
1406
	color : #666;
1406
	color : #666;
1407
	font-size : 85%;
1407
	font-size : 85%;
1408
	padding : 1em;
1408
	padding : 1em;
1409
	margin-top : 2em;
1409
 }
1410
 }
1410
 
1411
 
1411
div#changelanguage a {
1412
div#changelanguage a {
Lines 1957-1960 div.ft { Link Here
1957
	font-size:90%;
1958
	font-size:90%;
1958
	list-style:disc outside url("../../images/item-bullet.gif");
1959
	list-style:disc outside url("../../images/item-bullet.gif");
1959
	padding:0.2em 0;
1960
	padding:0.2em 0;
1960
}
1961
}
1962
div.bibmessage { background-color : #ffffb0; border-radius : 5px; padding : 3px; margin : 2px; }
(-)a/koha-tmpl/opac-tmpl/prog/en/modules/opac-reserve.tmpl (-186 / +178 lines)
Lines 160-186 Link Here
160
    <div id="bd">
160
    <div id="bd">
161
	  <div id="yui-g">
161
	  <div id="yui-g">
162
        <div id="holds" class="container">
162
        <div id="holds" class="container">
163
163
        <!-- TMPL_IF NAME="message" -->
164
          <!-- TMPL_IF NAME="message" -->
165
            <!-- TMPL_IF NAME="GNA" -->
164
            <!-- TMPL_IF NAME="GNA" -->
166
              <div class="dialog alert">
165
              <div id="gna" class="dialog alert">
167
                <strong>Sorry</strong>, you cannot place holds because the library doesn't have up-to-date <a href="/cgi-bin/koha/opac-userdetails.pl">contact information</a> on file.
166
                <p><strong>Sorry</strong>, you cannot place holds because the library doesn't have up-to-date <a href="/cgi-bin/koha/opac-userupdate.pl">contact information</a> on file.</p>
168
              </div>
167
              <p>Please contact your librarian, or use the <a href="/cgi-bin/koha/opac-userupdate.pl">online update form</a> to submit current information (<em>Please note:</em> there may be a delay in restoring your account if you submit online)</p>
169
              <div class="dialog alert">Please contact your librarian, or use the <a href="/cgi-bin/koha/opac-userupdate.pl">online update form</a> to submit current information (<em>Please note:</em> there may be a delay in restoring your account if you submit online)
170
              </div>
168
              </div>
171
            <!-- /TMPL_IF -->
169
            <!-- /TMPL_IF -->
172
            <!-- TMPL_IF NAME="lost" -->
170
            <!-- TMPL_IF NAME="lost" -->
173
              <div class="dialog alert">
171
              <div id="lost" class="dialog alert">
174
                <strong>Sorry</strong>, you cannot place holds because your library card has been marked as lost or stolen.
172
                <p><strong>Sorry</strong>, you cannot place holds because your library card has been marked as lost or stolen.</p>
175
              </div>
173
                <p>If this is an error, please take your card to the circulation desk at your local library and the error will be corrected.</p>
176
              <div class="dialog alert">If this is an error, please take your card to the circulation desk at your local library and the error will be corrected.
177
              </div>
174
              </div>
178
            <!-- /TMPL_IF -->
175
            <!-- /TMPL_IF -->
179
            <!-- TMPL_IF NAME="debarred" -->
176
            <!-- TMPL_IF NAME="debarred" -->
180
              <div class="dialog alert">
177
              <div id="debarred" class="dialog alert">
181
                <strong>Sorry</strong>, you cannot place holds because your account has been frozen.
178
                <p><strong>Sorry</strong>, you cannot place holds because your account has been frozen.</p>
182
              </div>
179
                <p>Usually the reason for freezing an account is old overdues or damage fees.   If <a href="/cgi-bin/koha/opac-user.pl">your account page</a> shows your account to be clear, please consult a librarian.</p>
183
              <div class="dialog alert">Usually the reason for freezing an account is old overdues or damage fees.   If <a href="/cgi-bin/koha/opac-user.pl">your account page</a> shows your account to be clear, please consult a librarian.
184
              </div>
180
              </div>
185
            <!-- /TMPL_IF -->
181
            <!-- /TMPL_IF -->
186
            <!-- TMPL_IF NAME="too_much_oweing" -->
182
            <!-- TMPL_IF NAME="too_much_oweing" -->
Lines 211-228 Link Here
211
            <!-- TMPL_IF NAME="bad_data" -->
207
            <!-- TMPL_IF NAME="bad_data" -->
212
              <div class="dialog alert">ERROR: Internal error: incomplete hold request.</div>
208
              <div class="dialog alert">ERROR: Internal error: incomplete hold request.</div>
213
            <!-- /TMPL_IF -->
209
            <!-- /TMPL_IF -->
210
          <!-- TMPL_ELSE -->
214
            <!-- TMPL_IF NAME="none_available" -->
211
            <!-- TMPL_IF NAME="none_available" -->
215
              <div class="dialog alert"><strong>Sorry</strong>, none of these items can be placed on hold.
212
                <div class="dialog alert"><strong>Sorry</strong>, none of these items can be placed on hold.
216
              </div>
213
                </div>
217
            <!-- /TMPL_IF -->
214
              <!-- /TMPL_IF -->
218
          <!-- /TMPL_IF --><!-- NAME="message" -->
215
          <!-- /TMPL_IF --><!-- NAME="message" -->
219
216
220
          <!-- TMPL_UNLESS NAME="message" -->
217
      <!-- TMPL_UNLESS NAME="message" --><!-- TMPL_UNLESS NAME="none_available" --><h3>Confirm holds for:
221
              <h3>Confirm holds for:
218
                      <!-- TMPL_LOOP NAME="USER_INFO" -->
222
                <!-- TMPL_LOOP NAME="USER_INFO" -->
219
                        <!-- TMPL_VAR NAME="firstname" --> <!-- TMPL_VAR NAME="surname" --> (<!-- TMPL_VAR NAME="cardnumber" -->)
223
                  <!-- TMPL_VAR NAME="firstname" --> <!-- TMPL_VAR NAME="surname" --> (<!-- TMPL_VAR NAME="cardnumber" -->)
220
                      <!-- /TMPL_LOOP -->
224
                <!-- /TMPL_LOOP -->
221
                    </h3><!-- /TMPL_UNLESS -->
225
              </h3>
226
222
227
            <form action="/cgi-bin/koha/opac-reserve.pl" method="post">
223
            <form action="/cgi-bin/koha/opac-reserve.pl" method="post">
228
            <input type="hidden" name="place_reserve" value="1"/>
224
            <input type="hidden" name="place_reserve" value="1"/>
Lines 232-239 Link Here
232
            <input type="hidden" name="selecteditems" id="selections"/>
228
            <input type="hidden" name="selecteditems" id="selections"/>
233
            <div id="bigloop">
229
            <div id="bigloop">
234
              <table id="bibitemloop">
230
              <table id="bibitemloop">
235
                <tr>
231
                <!-- TMPL_UNLESS NAME="none_available" --><tr>
236
                  <th colspan="2">Hold</th>
232
                  <th>Hold</th>
237
                  <th>Title</th>
233
                  <th>Title</th>
238
                  <!-- TMPL_UNLESS NAME="item-level_itypes" -->
234
                  <!-- TMPL_UNLESS NAME="item-level_itypes" -->
239
                    <th>Item Type</th>
235
                    <th>Item Type</th>
Lines 251-262 Link Here
251
                  <!-- TMPL_UNLESS NAME="singleBranchMode" -->
247
                  <!-- TMPL_UNLESS NAME="singleBranchMode" -->
252
                    <th>Pickup Location</th>
248
                    <th>Pickup Location</th>
253
                  <!-- /TMPL_UNLESS -->
249
                  <!-- /TMPL_UNLESS -->
254
                </tr>
250
                </tr><!-- TMPL_ELSE --><tr><th colspan="5">Title</th></tr><!-- /TMPL_UNLESS -->
255
251
256
                <!-- TMPL_LOOP name="bibitemloop" -->
252
                <!-- TMPL_LOOP name="bibitemloop" -->
257
                  <tr>
253
                  <tr>
258
                      <!-- TMPL_IF NAME="holdable" -->
254
                      <!-- TMPL_IF NAME="holdable" -->
259
					  <td colspan="2">
255
					  <td>
260
                      <input class="reserve_mode" name="reserve_mode" type="hidden" value="single"/>
256
                      <input class="reserve_mode" name="reserve_mode" type="hidden" value="single"/>
261
                      <input class="single_bib" name="single_bib" type="hidden" value="<!-- TMPL_VAR NAME="biblionumber" -->"/>
257
                      <input class="single_bib" name="single_bib" type="hidden" value="<!-- TMPL_VAR NAME="biblionumber" -->"/>
262
                        <span class="confirmjs_hold" title="<!-- TMPL_VAR NAME="biblionumber" -->"></span>
258
                        <span class="confirmjs_hold" title="<!-- TMPL_VAR NAME="biblionumber" -->"></span>
Lines 269-441 Link Here
269
                        </span>
265
                        </span>
270
					</td>
266
					</td>
271
                      <!-- TMPL_ELSE -->
267
                      <!-- TMPL_ELSE -->
272
					  <td>
268
					  <!-- TMPL_UNLESS NAME="none_available" --><td>&nbsp;</td><!-- /TMPL_UNLESS -->
273
                      <input class="reserve_mode" name="reserve_mode" type="hidden" value="single"/>
269
                      <!-- /TMPL_IF -->
274
                      <input class="single_bib" name="single_bib" type="hidden" value="<!-- TMPL_VAR NAME="biblionumber" -->"/>
270
                    <!-- TMPL_IF NAME="holdable" --><td><!-- TMPL_ELSE --><td colspan="5"><!-- /TMPL_IF -->
275
                        <span class="confirmjs_nohold" title="<!-- TMPL_VAR NAME="biblionumber" -->"></span>
271
                      <a href="/cgi-bin/koha/opac-detail.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->"><!-- TMPL_VAR NAME="title" escape="html" --><!-- TMPL_IF NAME="subtitle" --> <!-- TMPL_LOOP NAME="subtitle" --><!--TMPL VAR Name="subfield"--><!--/TMPL_LOOP--><!-- /TMPL_IF --></a>
276
                        <span class="confirm_nonjs">
272
                      <!-- TMPL_IF NAME="author" -->,  by <!-- TMPL_VAR NAME="author" --><!-- /TMPL_IF --> 
277
                          <input type="radio" class="confirmbox checkitem <!-- TMPL_VAR NAME="checkitem_bib" -->"
273
278
                                 name="<!-- TMPL_VAR NAME="checkitem_bib" -->" disabled="disabled"
274
                      <!-- TMPL_UNLESS NAME="holdable" -->
279
                                 id="<!-- TMPL_VAR NAME="checkitem_bib" -->"
275
280
                                 value="any" />
281
                        </span>
282
					</td><td>
283
                        <!-- TMPL_IF NAME="already_reserved" -->
276
                        <!-- TMPL_IF NAME="already_reserved" -->
284
                          <div class="bibmessage">You have already requested this title.</div>
277
                          <div class="bibmessage">You have already requested this title.</div>
285
                        <!-- /TMPL_IF -->
286
                        <!-- TMPL_UNLESS NAME="bib_available" -->
287
                          <div class="bibmessage">No available items.</div>
288
                        <!-- TMPL_ELSE -->
278
                        <!-- TMPL_ELSE -->
289
                          <div class="bibmessage">This title cannot be requested.</div>
279
                          <!-- TMPL_UNLESS NAME="bib_available" -->
280
                            <div class="bibmessage">No available items.</div>
281
                          <!-- TMPL_ELSE -->
282
                            <div class="bibmessage">This title cannot be requested.</div>
283
                          <!-- /TMPL_UNLESS -->
284
                        <!-- /TMPL_IF -->
285
286
290
                        <!-- /TMPL_UNLESS -->
287
                        <!-- /TMPL_UNLESS -->
288
291
                    </td>
289
                    </td>
292
                      <!-- /TMPL_IF -->
290
                    <!-- TMPL_IF NAME="holdable" --><!-- TMPL_UNLESS NAME="item-level_itypes" -->
293
                    <td>
291
                                          <td>
294
                      <a href="/cgi-bin/koha/opac-detail.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->"><!-- TMPL_VAR NAME="title" escape="html" --><!-- TMPL_IF NAME="subtitle" --> <!-- TMPL_LOOP NAME="subtitle" --><!--TMPL VAR Name="subfield"--><!--/TMPL_LOOP--><!-- /TMPL_IF --></a>
292
                                            <!-- TMPL_IF NAME="imageurl" --><img src="<!-- TMPL_VAR NAME="imageurl" -->" alt="" /><!-- /TMPL_IF -->
295
                      <!-- TMPL_IF NAME="author" -->,  by <!-- TMPL_VAR NAME="author" --><!-- /TMPL_IF -->
293
                                <!-- TMPL_VAR NAME="description" -->
296
                    </td>
294
                                          </td>
297
                    <!-- TMPL_UNLESS NAME="item-level_itypes" -->
295
                                        <!-- /TMPL_UNLESS --><!-- /TMPL_IF -->
298
                      <td>
296
                    <!-- TMPL_IF NAME="holdable" --><!-- TMPL_IF NAME="showpriority" --><td><!-- TMPL_VAR name="rank" --> out of <!-- TMPL_VAR NAME="reservecount" --></td><!-- /TMPL_IF --><!-- /TMPL_IF -->
299
                        <!-- TMPL_IF NAME="imageurl" --><img src="<!-- TMPL_VAR NAME="imageurl" -->" alt="" /><!-- /TMPL_IF -->
300
						<!-- TMPL_VAR NAME="description" -->
301
                      </td>
302
                    <!-- /TMPL_UNLESS -->
303
                    <!-- TMPL_IF NAME="showpriority" --><td><!-- TMPL_VAR name="rank" --> out of <!-- TMPL_VAR NAME="reservecount" --></td><!-- /TMPL_IF -->
304
		    <!-- TMPL_IF NAME="reserve_in_future" -->
297
		    <!-- TMPL_IF NAME="reserve_in_future" -->
305
		    <td>
298
		    <!-- TMPL_IF NAME="holdable" --><td>
306
			<input name="reserve_date_<!-- TMPL_VAR NAME="biblionumber" -->" id="reserve_date_<!-- TMPL_VAR NAME="biblionumber" -->" size="10">
299
              <input name="reserve_date_<!-- TMPL_VAR NAME="biblionumber" -->" id="reserve_date_<!-- TMPL_VAR NAME="biblionumber" -->" size="10">
307
		  <script language="JavaScript" type="text/javascript">
300
              <script language="JavaScript" type="text/javascript">
308
			//<![CDATA[
301
              //<![CDATA[
309
			$("#reserve_date_<!-- TMPL_VAR NAME="biblionumber" -->").attr( 'readonly', 'readonly' );
302
              $("#reserve_date_<!-- TMPL_VAR NAME="biblionumber" -->").attr( 'readonly', 'readonly' );
310
303
311
			var cal_img = document.createElement('img');
304
              var cal_img = document.createElement('img');
312
			cal_img.src = "<!-- TMPL_VAR NAME="themelang" -->/lib/calendar/cal.gif";
305
              cal_img.src = "<!-- TMPL_VAR NAME="themelang" -->/lib/calendar/cal.gif";
313
			cal_img.alt = "Show Calendar";
306
              cal_img.alt = "Show Calendar";
314
			cal_img.border = "0";
307
              cal_img.border = "0";
315
			cal_img.id = "CalendarReserveDate<!-- TMPL_VAR NAME="biblionumber" -->";
308
              cal_img.id = "CalendarReserveDate<!-- TMPL_VAR NAME="biblionumber" -->";
316
			cal_img.style.cursor = "pointer";
309
              cal_img.style.cursor = "pointer";
317
			document.getElementById("reserve_date_<!-- TMPL_VAR NAME="biblionumber" -->").parentNode.appendChild( cal_img );
310
              document.getElementById("reserve_date_<!-- TMPL_VAR NAME="biblionumber" -->").parentNode.appendChild( cal_img );
318
311
319
			function validate<!-- TMPL_VAR NAME="biblionumber" -->(date) {
312
              function validate<!-- TMPL_VAR NAME="biblionumber" -->(date) {
320
			    var today = new Date();
313
                  var today = new Date();
321
                if ( (date > today) ||
314
                        if ( (date > today) ||
322
                        ( date.getDate() == today.getDate() &&
315
                                ( date.getDate() == today.getDate() &&
323
                          date.getMonth() == today.getMonth() &&
316
                                  date.getMonth() == today.getMonth() &&
324
                          date.getFullYear() == today.getFullYear() ) ) {
317
                                  date.getFullYear() == today.getFullYear() ) ) {
325
                    return false;
318
                            return false;
326
                } else {
319
                        } else {
327
                    return true;
320
                            return true;
328
                }
321
                        }
329
			};
322
              };
330
			Calendar.setup(
323
              Calendar.setup(
331
			{
324
              {
332
				inputField : "reserve_date_<!-- TMPL_VAR NAME="biblionumber" -->",
325
                inputField : "reserve_date_<!-- TMPL_VAR NAME="biblionumber" -->",
333
				ifFormat : "<!-- TMPL_VAR NAME="DHTMLcalendar_dateformat" -->",
326
                ifFormat : "<!-- TMPL_VAR NAME="DHTMLcalendar_dateformat" -->",
334
				button : "CalendarReserveDate<!-- TMPL_VAR NAME="biblionumber" -->",
327
                button : "CalendarReserveDate<!-- TMPL_VAR NAME="biblionumber" -->",
335
				disableFunc : validate<!-- TMPL_VAR NAME="biblionumber" -->,
328
                disableFunc : validate<!-- TMPL_VAR NAME="biblionumber" -->,
336
				dateStatusFunc : validate<!-- TMPL_VAR NAME="biblionumber" -->,
329
                dateStatusFunc : validate<!-- TMPL_VAR NAME="biblionumber" -->,
337
			}
330
              }
338
			);
331
              );
339
			//]]>
332
              //]]>
340
			</script>
333
              </script>
341
		    </td>
334
                </td><!-- /TMPL_IF -->
342
335
343
		    <!-- /TMPL_IF -->
336
		    <!-- /TMPL_IF -->
344
	<td>
337
	<!-- TMPL_IF NAME="holdable" --><td>
345
	    <input name="expiration_date_<!-- TMPL_VAR NAME="biblionumber" -->" id="expiration_date_<!-- TMPL_VAR NAME="biblionumber" -->" size="10" readonly="readonly" />
338
        <input name="expiration_date_<!-- TMPL_VAR NAME="biblionumber" -->" id="expiration_date_<!-- TMPL_VAR NAME="biblionumber" -->" size="10" readonly="readonly" />
346
	    <img src="<!-- TMPL_VAR NAME="themelang" -->/lib/calendar/cal.gif" alt="Show Calendar" border="0" id="CalendarExpirationDate_<!-- TMPL_VAR NAME="biblionumber" -->" style="cursor: pointer;" />
339
        <img src="<!-- TMPL_VAR NAME="themelang" -->/lib/calendar/cal.gif" alt="Show Calendar" border="0" id="CalendarExpirationDate_<!-- TMPL_VAR NAME="biblionumber" -->" style="cursor: pointer;" />
347
	    <script language="JavaScript" type="text/javascript">
340
        <script language="JavaScript" type="text/javascript">
348
		//<![CDATA[
341
      //<![CDATA[
349
		function validate1(date) {
342
      function validate1(date) {
350
			var today = new Date();
343
        var today = new Date();
351
			if ( (date > today) ||
344
        if ( (date > today) ||
352
                    ( date.getDate() == today.getDate() &&
345
                      ( date.getDate() == today.getDate() &&
353
                      date.getMonth() == today.getMonth() &&
346
                        date.getMonth() == today.getMonth() &&
354
                      date.getFullYear() == today.getFullYear() ) ) {
347
                        date.getFullYear() == today.getFullYear() ) ) {
355
				return false;
348
          return false;
356
			} else {
349
        } else {
357
				return true;
350
          return true;
358
			}
351
        }
359
		};
352
      };
360
		Calendar.setup(
353
      Calendar.setup(
361
			{
354
        {
362
				inputField : "expiration_date_<!-- TMPL_VAR NAME="biblionumber" -->",
355
          inputField : "expiration_date_<!-- TMPL_VAR NAME="biblionumber" -->",
363
				ifFormat : "<!-- TMPL_VAR NAME="DHTMLcalendar_dateformat" -->",
356
          ifFormat : "<!-- TMPL_VAR NAME="DHTMLcalendar_dateformat" -->",
364
				button : "CalendarExpirationDate_<!-- TMPL_VAR NAME="biblionumber" -->",
357
          button : "CalendarExpirationDate_<!-- TMPL_VAR NAME="biblionumber" -->",
365
				disableFunc : validate1,
358
          disableFunc : validate1,
366
				dateStatusFunc : validate1,
359
          dateStatusFunc : validate1,
367
			}
360
        }
368
		);
361
      );
369
		//]]>
362
      //]]>
370
	    </script>
363
        </script>
371
		<p style="margin:.3em 2em;">
364
      <p style="margin:.3em 2em;">
372
		<a href="#" style="font-size:85%;text-decoration:none;" onclick="document.getElementById('expiration_date_<!-- TMPL_VAR NAME="biblionumber" -->').value='';return false;">Clear Date</a></p>
365
      <a href="#" style="font-size:85%;text-decoration:none;" onclick="document.getElementById('expiration_date_<!-- TMPL_VAR NAME="biblionumber" -->').value='';return false;">Clear Date</a></p>
373
	</td>
366
    </td><!-- /TMPL_IF -->
374
367
375
                    <!-- TMPL_IF NAME="OPACItemHolds" -->
368
                    <!-- TMPL_IF NAME="holdable" --><!-- TMPL_IF NAME="OPACItemHolds" -->
376
                      <td class="place_on_type" style="display:none">
369
                                          <td class="place_on_type" style="display:none">
377
                        <table>
370
                                            <table>
378
                          <tr>
371
                                              <tr>
379
                            <td>
372
                                                <td>
380
                              <!-- TMPL_UNLESS NAME="holdable" -->
373
                                                  <!-- TMPL_UNLESS NAME="holdable" -->
381
                                <input type="radio" name="reqtype_<!-- TMPL_VAR NAME="biblionumber" -->"
374
                                                    <input type="radio" name="reqtype_<!-- TMPL_VAR NAME="biblionumber" -->"
382
                                       id="reqany_<!-- TMPL_VAR NAME="biblionumber" -->"
375
                                                           id="reqany_<!-- TMPL_VAR NAME="biblionumber" -->"
383
                                       class="selectany"
376
                                                           class="selectany"
384
                                       value="Any"
377
                                                           value="Any"
385
                                       disabled="disabled"
378
                                                           disabled="disabled"
386
                                />
379
                                                    />
387
                              <!-- TMPL_ELSE -->
380
                                                  <!-- TMPL_ELSE -->
388
                                <input type="radio" name="reqtype_<!-- TMPL_VAR NAME="biblionumber" -->"
381
                                                    <input type="radio" name="reqtype_<!-- TMPL_VAR NAME="biblionumber" -->"
389
                                       id="reqany_<!-- TMPL_VAR NAME="biblionumber" -->"
382
                                                           id="reqany_<!-- TMPL_VAR NAME="biblionumber" -->"
390
                                       class="selectany"
383
                                                           class="selectany"
391
                                       value="Any"
384
                                                           value="Any"
392
                                       checked="checked"
385
                                                           checked="checked"
393
                                />
386
                                                    />
394
                              <!-- /TMPL_UNLESS -->
387
                                                  <!-- /TMPL_UNLESS -->
395
                              <label for="reqany_<!-- TMPL_VAR NAME="biblionumber" -->">Next available copy</label>
388
                                                  <label for="reqany_<!-- TMPL_VAR NAME="biblionumber" -->">Next available copy</label>
396
                            </td>
389
                                                </td>
397
                          </tr>
390
                                              </tr>
398
                          <tr>
391
                                              <tr>
399
                            <td>
392
                                                <td>
400
                              <!-- TMPL_UNLESS NAME="holdable" -->
393
                                                  <!-- TMPL_UNLESS NAME="holdable" -->
401
                                <input type="radio" name="reqtype_<!-- TMPL_VAR NAME="biblionumber" -->"
394
                                                    <input type="radio" name="reqtype_<!-- TMPL_VAR NAME="biblionumber" -->"
402
                                       id="reqspecific_<!-- TMPL_VAR NAME="biblionumber" -->"
395
                                                           id="reqspecific_<!-- TMPL_VAR NAME="biblionumber" -->"
403
                                       class="selectspecific"
396
                                                           class="selectspecific"
404
                                       disabled="disabled"
397
                                                           disabled="disabled"
405
                                       value="Specific"
398
                                                           value="Specific"
406
                                />
399
                                                    />
407
                              <!-- TMPL_ELSE -->
400
                                                  <!-- TMPL_ELSE -->
408
                                <input type="radio" name="reqtype_<!-- TMPL_VAR NAME="biblionumber" -->"
401
                                                    <input type="radio" name="reqtype_<!-- TMPL_VAR NAME="biblionumber" -->"
409
                                       id="reqspecific_<!-- TMPL_VAR NAME="biblionumber" -->"
402
                                                           id="reqspecific_<!-- TMPL_VAR NAME="biblionumber" -->"
410
                                       class="selectspecific"
403
                                                           class="selectspecific"
411
                                       value="Specific"
404
                                                           value="Specific"
412
                                />
405
                                                    />
413
                              <!-- /TMPL_UNLESS -->
406
                                                  <!-- /TMPL_UNLESS -->
414
                              <label for="reqspecific_<!-- TMPL_VAR NAME="biblionumber"-->">A specific copy</label>
407
                                                  <label for="reqspecific_<!-- TMPL_VAR NAME="biblionumber"-->">A specific copy</label>
415
                            </td>
408
                                                </td>
416
                          </tr>
409
                                              </tr>
417
                        </table>
410
                                            </table>
418
                      </td>
411
                                          </td>
419
                    <!-- /TMPL_IF -->
412
                                        <!-- /TMPL_IF --><!-- /TMPL_IF -->
420
413
421
                    <!-- TMPL_UNLESS NAME="singleBranchMode" -->
414
                    <!-- TMPL_UNLESS NAME="singleBranchMode" -->
422
                      <td>
415
                      <!-- TMPL_IF NAME="holdable" --><td>
423
                        <select name="branch" id="branch_<!-- TMPL_VAR NAME="biblionumber" -->"
416
                                              <select name="branch" id="branch_<!-- TMPL_VAR NAME="biblionumber" -->"
424
                          <!-- TMPL_UNLESS NAME="holdable" -->disabled="disabled"<!-- /TMPL_UNLESS --> >
417
                                                <!-- TMPL_UNLESS NAME="holdable" -->disabled="disabled"<!-- /TMPL_UNLESS --> >
425
                          <!-- TMPL_LOOP NAME="branchChoicesLoop" -->
418
                                                <!-- TMPL_LOOP NAME="branchChoicesLoop" -->
426
                            <!-- TMPL_IF name="selected" -->
419
                                                  <!-- TMPL_IF name="selected" -->
427
                              <option value="<!-- TMPL_VAR NAME="value" -->" selected="selected"><!-- TMPL_VAR NAME="branchname" --></option>
420
                                                    <option value="<!-- TMPL_VAR NAME="value" -->" selected="selected"><!-- TMPL_VAR NAME="branchname" --></option>
428
                            <!-- TMPL_ELSE -->
421
                                                  <!-- TMPL_ELSE -->
429
                              <option value="<!-- TMPL_VAR NAME="value" -->"><!-- TMPL_VAR NAME="branchname" --></option>
422
                                                    <option value="<!-- TMPL_VAR NAME="value" -->"><!-- TMPL_VAR NAME="branchname" --></option>
430
                            <!-- /TMPL_IF -->
423
                                                  <!-- /TMPL_IF -->
431
                          <!-- /TMPL_LOOP -->
424
                                                <!-- /TMPL_LOOP -->
432
                        </select>
425
                                              </select>
433
                      </td>
426
                                            </td><!-- /TMPL_IF -->
434
                    <!-- /TMPL_UNLESS -->
427
                    <!-- /TMPL_UNLESS -->
435
                  </tr>
428
                  </tr>
436
429
437
                  <!-- TMPL_IF NAME="OPACItemHolds" -->
430
                  <!-- TMPL_IF NAME="OPACItemHolds" -->
438
                  <!-- TMPL_IF NAME="bib_available" -->
431
                  <!-- TMPL_IF NAME="holdable" -->
439
                    <tr class="copiesrow" id="copiesrow_<!-- TMPL_VAR NAME="biblionumber"-->">
432
                    <tr class="copiesrow" id="copiesrow_<!-- TMPL_VAR NAME="biblionumber"-->">
440
                      <td colspan="1">
433
                      <td colspan="1">
441
                      </td>
434
                      </td>
Lines 517-534 Link Here
517
                  <!-- /TMPL_IF --><!-- OPACItemHolds -->
510
                  <!-- /TMPL_IF --><!-- OPACItemHolds -->
518
                <!-- /TMPL_LOOP -->
511
                <!-- /TMPL_LOOP -->
519
              </table><!-- bibitemloop -->
512
              </table><!-- bibitemloop -->
513
              <!-- /TMPL_UNLESS --> <!-- if message -->
520
            </div><!-- bigloop -->
514
            </div><!-- bigloop -->
521
515
522
            <!-- TMPL_IF NAME="none_available" -->
516
            <!-- TMPL_UNLESS NAME="message" -->
523
            <input type="submit" disabled="disabled" value="Place Hold" />
517
            <!-- TMPL_UNLESS NAME="none_available" -->
524
            <!-- TMPL_ELSE -->
525
            <input type="submit" value="Place Hold" class="placehold" />
518
            <input type="submit" value="Place Hold" class="placehold" />
526
            <!-- /TMPL_IF -->
519
            <!-- /TMPL_UNLESS -->
520
            <!-- /TMPL_UNLESS -->
527
521
528
            </form>
522
            </form>
529
523
530
          <!-- /TMPL_UNLESS --><!-- message -->
531
532
        </div><!-- holds -->
524
        </div><!-- holds -->
533
      </div><!-- yui-g -->
525
      </div><!-- yui-g -->
534
    </div><!-- bd    -->
526
    </div><!-- bd    -->
(-)a/opac/opac-reserve.pl (-5 / +6 lines)
Lines 288-293 my $notforloan_label_of = get_notforloan_label_of(); Link Here
288
my $biblioLoop = [];
288
my $biblioLoop = [];
289
my $numBibsAvailable = 0;
289
my $numBibsAvailable = 0;
290
my $itemdata_enumchron = 0;
290
my $itemdata_enumchron = 0;
291
my $anyholdable;
291
my $itemLevelTypes = C4::Context->preference('item-level_itypes');
292
my $itemLevelTypes = C4::Context->preference('item-level_itypes');
292
$template->param('item-level_itypes' => $itemLevelTypes);
293
$template->param('item-level_itypes' => $itemLevelTypes);
293
294
Lines 335-342 foreach my $biblioNum (@biblionumbers) { Link Here
335
        }
336
        }
336
    }
337
    }
337
338
338
    $biblioLoopIter{itemTypeDescription} = $itemTypes->{$biblioData->{itemtype}}{description};
339
340
    $biblioLoopIter{itemLoop} = [];
339
    $biblioLoopIter{itemLoop} = [];
341
    my $numCopiesAvailable = 0;
340
    my $numCopiesAvailable = 0;
342
    foreach my $itemInfo (@{$biblioData->{itemInfos}}) {
341
    foreach my $itemInfo (@{$biblioData->{itemInfos}}) {
Lines 454-472 foreach my $biblioNum (@biblionumbers) { Link Here
454
        $numBibsAvailable++;
453
        $numBibsAvailable++;
455
        $biblioLoopIter{bib_available} = 1;
454
        $biblioLoopIter{bib_available} = 1;
456
        $biblioLoopIter{holdable} = 1;
455
        $biblioLoopIter{holdable} = 1;
456
        $anyholdable = 1;
457
    }
457
    }
458
    if ($biblioLoopIter{already_reserved}) {
458
    if ($biblioLoopIter{already_reserved}) {
459
        $biblioLoopIter{holdable} = undef;
459
        $biblioLoopIter{holdable} = undef;
460
        $anyholdable = undef;
460
    }
461
    }
461
    if(not CanBookBeReserved($borrowernumber,$biblioNum)){
462
    if(not CanBookBeReserved($borrowernumber,$biblioNum)){
462
        $biblioLoopIter{holdable} = undef;
463
        $biblioLoopIter{holdable} = undef;
464
        $anyholdable = undef;
463
    }
465
    }
464
466
465
    push @$biblioLoop, \%biblioLoopIter;
467
    push @$biblioLoop, \%biblioLoopIter;
466
}
468
}
467
469
468
if ( $numBibsAvailable == 0 ) {
470
if ( $numBibsAvailable == 0 || !$anyholdable) {
469
    $template->param( none_available => 1, message => 1 );
471
    $template->param( none_available => 1 );
470
}
472
}
471
473
472
my $itemTableColspan = 5;
474
my $itemTableColspan = 5;
473
- 

Return to bug 4950