|
Lines 174-179
Link Here
|
| 174 |
</div> |
174 |
</div> |
| 175 |
[% END %] |
175 |
[% END %] |
| 176 |
|
176 |
|
|
|
177 |
[% IF ( hold_move_successes ) %] |
| 178 |
<div class="alert alert-success"> |
| 179 |
<p>Moved the following holds:</p> |
| 180 |
<ul> |
| 181 |
[% FOREACH hold IN hold_move_successes %] |
| 182 |
<li> |
| 183 |
<label>Hold ID: </label> |
| 184 |
<span>[% hold.hold_id %]</span> |
| 185 |
<span> - Moved from [%- INCLUDE 'biblio-title.inc' biblio=hold.original_biblio link = 1 -%] to [%- INCLUDE 'biblio-title.inc' biblio=hold.target_biblio link = 1 -%]</span> |
| 186 |
</li> |
| 187 |
[% END %] |
| 188 |
</ul> |
| 189 |
</div> |
| 190 |
[% END %] |
| 191 |
[% IF ( hold_move_failures ) %] |
| 192 |
<div class="alert alert-warning"> |
| 193 |
<strong>One or more holds were not moved due to following errors:</strong> |
| 194 |
<ul> |
| 195 |
[% FOREACH fail IN hold_move_failures %] |
| 196 |
<li> |
| 197 |
<label>Hold ID: </label> |
| 198 |
<span>[% fail.hold_id %]</span> |
| 199 |
[% SWITCH fail.error %] |
| 200 |
[% CASE 'cannotReserveFromOtherBranches' %] |
| 201 |
<span>Target item cannot be reserved from other branches</span> |
| 202 |
[% CASE 'ageRestricted' %] |
| 203 |
<span>The target record and/or items are age restricted</span> |
| 204 |
[% CASE 'alreadypossession' %] |
| 205 |
<span>Target item is already checked out to patron</span> |
| 206 |
[% CASE 'noReservesAllowed' %] |
| 207 |
<span>No holds are allowed on the target item(s)</span> |
| 208 |
[% CASE 'tooManyReservesToday' %] |
| 209 |
<span>Target item has too many holds placed on it today</span> |
| 210 |
[% CASE 'tooManyReserves' %] |
| 211 |
<span>Target item has too many holds placed on it</span> |
| 212 |
[% CASE 'notReservable' %] |
| 213 |
<span>Target item is not reservable</span> |
| 214 |
[% CASE 'cannotReserveFromOtherBranches' %] |
| 215 |
<span>Target item cannot be placed on reserve for this branch</span> |
| 216 |
[% CASE 'branchNotInHoldGroup' %] |
| 217 |
<span>Tagret item is not in the local hold group</span> |
| 218 |
[% CASE 'notforloan' %] |
| 219 |
<span>Target item is not for loan</span> |
| 220 |
[% CASE 'damaged' %] |
| 221 |
<span>Target item is damaged</span> |
| 222 |
[% CASE %] |
| 223 |
<span>Error: [% fail.error | html %]</span> |
| 224 |
[% END %] |
| 225 |
</li> |
| 226 |
[% END %] |
| 227 |
</ul> |
| 228 |
</div> |
| 229 |
[% END %] |
| 230 |
|
| 177 |
[% IF ( failed_holds ) %] |
231 |
[% IF ( failed_holds ) %] |
| 178 |
<div class="alert alert-warning"> |
232 |
<div class="alert alert-warning"> |
| 179 |
<strong>One or more holds were not placed due to following errors:</strong> |
233 |
<strong>One or more holds were not placed due to following errors:</strong> |
|
Lines 1437-1448
Link Here
|
| 1437 |
</div> |
1491 |
</div> |
| 1438 |
<div class="modal-body"> |
1492 |
<div class="modal-body"> |
| 1439 |
<div id="move_hold_item_selection"> |
1493 |
<div id="move_hold_item_selection"> |
| 1440 |
<h3>Selected holds to move</h3> |
1494 |
<h3>1. Review holds to move</h3> |
| 1441 |
<table> |
1495 |
<table class="table table-striped"> |
| 1442 |
<thead> |
1496 |
<thead> |
| 1443 |
<tr> |
1497 |
<tr> |
| 1444 |
<th>Hold ID</th> |
1498 |
<th>Hold ID</th> |
| 1445 |
<th>Item barcode ( current hold )</th> |
1499 |
<th>Original hold</th> |
| 1446 |
</tr> |
1500 |
</tr> |
| 1447 |
</thead> |
1501 |
</thead> |
| 1448 |
<tbody> </tbody> |
1502 |
<tbody> </tbody> |
|
Lines 1452-1470
Link Here
|
| 1452 |
<div id="move_hold_item_search" class="alert alert-danger" style="display:none;"></div> |
1506 |
<div id="move_hold_item_search" class="alert alert-danger" style="display:none;"></div> |
| 1453 |
<form id="searchForm"> |
1507 |
<form id="searchForm"> |
| 1454 |
<div id="move_hold_item_searchform"> |
1508 |
<div id="move_hold_item_searchform"> |
|
|
1509 |
<h3>2. Enter the item barcode of new hold target: </h3> |
| 1455 |
<fieldset class="action"> |
1510 |
<fieldset class="action"> |
| 1456 |
<h3><label for="external_id">Enter the item barcode of new hold target: </label></h3> |
|
|
| 1457 |
<input type="text" class="form-control" name="external_id" id="external_id" required /> |
1511 |
<input type="text" class="form-control" name="external_id" id="external_id" required /> |
|
|
1512 |
<button type="submit" class="btn btn-default mt-3">Search</button> |
| 1458 |
</fieldset> |
1513 |
</fieldset> |
| 1459 |
<button type="submit" class="btn btn-success mt-3">Search</button> |
|
|
| 1460 |
</div> |
1514 |
</div> |
| 1461 |
</form> |
1515 |
</form> |
| 1462 |
<hr /> |
|
|
| 1463 |
<form id="move_hold_item_form" method="post" action="request.pl"> |
1516 |
<form id="move_hold_item_form" method="post" action="request.pl"> |
| 1464 |
[% INCLUDE 'csrf-token.inc' %] |
|
|
| 1465 |
<input type="hidden" name="op" value="cud-move_hold_item" /> |
| 1466 |
<div id="resultMessage" class="mt-3"> </div> |
1517 |
<div id="resultMessage" class="mt-3"> </div> |
| 1467 |
<button type="submit" class="btn btn-primary mt-3">Move selected holds</button> |
1518 |
<div id="move_hold_item_confirm" style="display:none;"> |
|
|
1519 |
<h3>3. Confirm moving of holds:</h3> |
| 1520 |
[% INCLUDE 'csrf-token.inc' %] |
| 1521 |
<input type="hidden" name="op" value="cud-move_hold_item" /> |
| 1522 |
<button type="submit" class="btn btn-primary mt-3">Move selected holds</button> |
| 1523 |
</div> |
| 1468 |
</form> |
1524 |
</form> |
| 1469 |
</div> |
1525 |
</div> |
| 1470 |
<div class="modal-footer"> |
1526 |
<div class="modal-footer"> |
|
Lines 1826-1831
Link Here
|
| 1826 |
|
1882 |
|
| 1827 |
$(document).on("change", 'input[name="new_itemnumber"]', function() { |
1883 |
$(document).on("change", 'input[name="new_itemnumber"]', function() { |
| 1828 |
$('input[name="new_itemnumber"]').not(this).prop("checked", false); |
1884 |
$('input[name="new_itemnumber"]').not(this).prop("checked", false); |
|
|
1885 |
if ( $('input[name="new_itemnumber"]:checked').length ){ |
| 1886 |
$('#move_hold_item_confirm').show(); |
| 1887 |
} else { |
| 1888 |
$('#move_hold_item_confirm').hide(); |
| 1889 |
} |
| 1829 |
}); |
1890 |
}); |
| 1830 |
|
1891 |
|
| 1831 |
$("#always_show_holds").change(function(){ |
1892 |
$("#always_show_holds").change(function(){ |
|
Lines 1963-1971
Link Here
|
| 1963 |
$('#moveHoldItemModal').modal('show'); |
2024 |
$('#moveHoldItemModal').modal('show'); |
| 1964 |
$('.select_hold:checked').each( function() { |
2025 |
$('.select_hold:checked').each( function() { |
| 1965 |
let reserve_id = $(this).data('id'); |
2026 |
let reserve_id = $(this).data('id'); |
|
|
2027 |
let reserve_biblionumber = $(this).data('biblionumber'); |
| 2028 |
let reserve_itemnumber = $(this).data('itemnumber'); |
| 1966 |
let item_level_hold = $(this).data('item_level_hold'); |
2029 |
let item_level_hold = $(this).data('item_level_hold'); |
| 1967 |
let found_status = $(this).data('found'); |
2030 |
let found_status = $(this).data('found'); |
| 1968 |
$('#move_hold_item_selection table').append(`<tr><td>${reserve_id}</td><td></td></tr>`) |
2031 |
$('#move_hold_item_selection table').append(`<tr><td>${reserve_id}</td><td>Biblionumber: <a target="_blank" href="/cgi-bin/koha/reserve/request.pl?biblionumber=${reserve_biblionumber}">${reserve_biblionumber}</a> Itemnumber: <a target="_blank" href="/cgi-bin/koha/catalogue/moredetail.pl?biblionumber=${reserve_biblionumber}#item${reserve_itemnumber}">${reserve_itemnumber}</a></td></tr>`) |
| 1969 |
if ( item_level_hold ) { |
2032 |
if ( item_level_hold ) { |
| 1970 |
$('#move_hold_item_form').append(`<input type="hidden" name="hold_id" value="${reserve_id}">`); |
2033 |
$('#move_hold_item_form').append(`<input type="hidden" name="hold_id" value="${reserve_id}">`); |
| 1971 |
} |
2034 |
} |
| 1972 |
- |
|
|