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 |
- |
|
|