Lines 6-11
Link Here
|
6 |
[% USE ItemTypes %] |
6 |
[% USE ItemTypes %] |
7 |
[% USE AuthorisedValues %] |
7 |
[% USE AuthorisedValues %] |
8 |
[% USE TablesSettings %] |
8 |
[% USE TablesSettings %] |
|
|
9 |
[% PROCESS 'i18n.inc' %] |
9 |
[% PROCESS 'member-display-address-style.inc' %] |
10 |
[% PROCESS 'member-display-address-style.inc' %] |
10 |
[% SET footerjs = 1 %] |
11 |
[% SET footerjs = 1 %] |
11 |
[% BLOCK display_bormessagepref %] |
12 |
[% BLOCK display_bormessagepref %] |
Lines 217-222
Link Here
|
217 |
</div> |
218 |
</div> |
218 |
[% END %] |
219 |
[% END %] |
219 |
|
220 |
|
|
|
221 |
<!-- Bundle has items missing --> |
222 |
[% IF missing_items %] |
223 |
<div id="bundle_missing_items" class="dialog alert"> |
224 |
<h3>Bundle had missing items</h3> |
225 |
<p>Bundle contents list updated</p> |
226 |
<p><a class="btn btn-default btn-xs" role="button" data-toggle="modal" href="#bundleContentsModal"><i class="fa fa-eye" aria-hidden="true"></i> View updated contents list</a></p> |
227 |
</div> |
228 |
[% END %] |
229 |
|
230 |
<!-- Bundle contained unexpected items --> |
231 |
[% IF unexpected_items %] |
232 |
<div id="bundle_unexpected_items" class="dialog alert"> |
233 |
<h3>Bundle had unexpected items</h3> |
234 |
<p>Please place the following items to one side</p> |
235 |
<ul> |
236 |
[% FOREACH unexpected_item IN unexpected_items %] |
237 |
<li>[% INCLUDE 'biblio-title.inc' biblio=unexpected_item.biblio %] - [% unexpected_item.barcode | html %]</li> |
238 |
[% END %] |
239 |
</ul> |
240 |
</div> |
241 |
[% END %] |
242 |
|
243 |
<!-- Item checked in outside of bundle --> |
244 |
[% IF InBundle %] |
245 |
<div id="bundle_item_outside" class="dialog alert audio-alert-warning"> |
246 |
<h3>Item belongs in bundle</h3> |
247 |
<p>This item belongs to a bundle: [% INCLUDE 'biblio-title.inc' biblio=InBundle.biblio %] - [% InBundle.barcode | html %]</p> |
248 |
<p><button class="btn btn-default btn-xs bundle_remove" role="button" data-itemnumber="[% itemnumber | uri %]" data-hostnumber="[% InBundle.itemnumber | uri %]"><i class="fa fa-minus"></i> Remove from bundle</button></p> |
249 |
</div> |
250 |
[% END %] |
220 |
|
251 |
|
221 |
[% IF ( errmsgloop ) %] |
252 |
[% IF ( errmsgloop ) %] |
222 |
<div class="dialog alert audio-alert-warning"> |
253 |
<div class="dialog alert audio-alert-warning"> |
Lines 381-386
Link Here
|
381 |
</div> |
412 |
</div> |
382 |
[% END %] |
413 |
[% END %] |
383 |
|
414 |
|
|
|
415 |
[% IF items_bundle_return_confirmation %] |
416 |
<div id="bundle-needsconfirmation-modal" class="modal fade audio-alert-action block"> |
417 |
<div class="modal-dialog modal-wide"> |
418 |
<div class="modal-content"> |
419 |
<form method="post"> |
420 |
<div class="modal-header"> |
421 |
<h3>Please confirm bundle contents</h3> |
422 |
</div> |
423 |
<div class="modal-body"> |
424 |
|
425 |
<table class="table table-condensed table-bordered" id="items-bundle-contents-table"> |
426 |
<thead> |
427 |
<tr> |
428 |
<th>[% t('Title') | html %]</th> |
429 |
<th>[% t('Author') | html %]</th> |
430 |
<th>[% t('Item type') | html %]</th> |
431 |
<th>[% t('Barcode') | html %]</th> |
432 |
<th>[% t('Status') | html %]</th> |
433 |
</tr> |
434 |
</thead> |
435 |
<tbody> |
436 |
[% FOREACH bundle_item IN item.bundle_items %] |
437 |
<tr data-barcode="[% bundle_item.barcode | html %]"> |
438 |
<td>[% INCLUDE 'biblio-title.inc' biblio=bundle_item.biblio link = 1 %]</td> |
439 |
<td>[% bundle_item.biblio.author | html %]</td> |
440 |
<td>[% ItemTypes.GetDescription(bundle_item.itype) | html %]</td> |
441 |
<td>[% bundle_item.barcode | html %]</td> |
442 |
<td>[% INCLUDE 'item-status.inc' item=bundle_item %]</td> |
443 |
</tr> |
444 |
[% END %] |
445 |
</tbody> |
446 |
</table> |
447 |
|
448 |
<div class="form-group"> |
449 |
<label for="verify-items-bundle-contents-barcodes">Barcodes</label> |
450 |
<textarea autocomplete="off" id="verify-items-bundle-contents-barcodes" name="verify-items-bundle-contents-barcodes" class="form-control"></textarea> |
451 |
<div class="help-block">[% t('Scan all barcodes of items found in the items bundle. If any items are missing, they will be marked as lost') | html %]</div> |
452 |
</div> |
453 |
|
454 |
</div> |
455 |
<div class="modal-footer"> |
456 |
<input type="hidden" name="barcode" value="[% item.barcode | html %]"> |
457 |
<input type="hidden" name="confirm_items_bundle_return" value="1"> |
458 |
[% FOREACH inputloo IN inputloop %] |
459 |
<input type="hidden" name="ri-[% inputloo.counter | html %]" value="[% inputloo.barcode | html %]" /> |
460 |
<input type="hidden" name="dd-[% inputloo.counter | html %]" value="[% inputloo.duedate | html %]" /> |
461 |
<input type="hidden" name="bn-[% inputloo.counter | html %]" value="[% inputloo.borrowernumber | html %]" /> |
462 |
[% END %] |
463 |
<button type="submit" class="btn btn-default"><i class="fa fa-check"></i> [% t('Confirm checkin and mark missing items as lost') | html %]</button> |
464 |
<button type="button" data-dismiss="modal" class="btn btn-default"><i class="fa fa-close"></i> [% t('Cancel') | html %]</button> |
465 |
</div> |
466 |
</form> |
467 |
</div> |
468 |
</div> |
469 |
</div> |
470 |
[% END %] |
471 |
|
384 |
[% IF wrongbranch %] |
472 |
[% IF wrongbranch %] |
385 |
<div id="wrong-branch-modal" class="modal fade audio-alert-action block"> |
473 |
<div id="wrong-branch-modal" class="modal fade audio-alert-action block"> |
386 |
<div class="modal-dialog"> |
474 |
<div class="modal-dialog"> |
Lines 1180-1185
Link Here
|
1180 |
[% INCLUDE 'modals/resolve_return_claim.inc' %] |
1268 |
[% INCLUDE 'modals/resolve_return_claim.inc' %] |
1181 |
[% END %] |
1269 |
[% END %] |
1182 |
|
1270 |
|
|
|
1271 |
[% INCLUDE 'modals/bundle_contents.inc' %] |
1272 |
|
1183 |
[% MACRO jsinclude BLOCK %] |
1273 |
[% MACRO jsinclude BLOCK %] |
1184 |
[% INCLUDE 'datatables.inc' %] |
1274 |
[% INCLUDE 'datatables.inc' %] |
1185 |
[% INCLUDE 'columns_settings.inc' %] |
1275 |
[% INCLUDE 'columns_settings.inc' %] |
Lines 1366-1373
Link Here
|
1366 |
window.open("/cgi-bin/koha/members/printslip.pl?borrowernumber=" + borrowernumber + "&print=checkinslip", "printwindow"); |
1456 |
window.open("/cgi-bin/koha/members/printslip.pl?borrowernumber=" + borrowernumber + "&print=checkinslip", "printwindow"); |
1367 |
}); |
1457 |
}); |
1368 |
|
1458 |
|
|
|
1459 |
// item bundles |
1460 |
$('#verify-items-bundle-contents-barcodes').on('input', function (ev) { |
1461 |
const barcodes = ev.target.value.split('\n').map(function(s) { return s.trim() }); |
1462 |
$('#items-bundle-contents-table tr').each(function () { |
1463 |
const barcode = this.getAttribute('data-barcode'); |
1464 |
if (barcodes.includes(barcode)) { |
1465 |
this.classList.add('ok'); |
1466 |
} else { |
1467 |
this.classList.remove('ok'); |
1468 |
} |
1469 |
}) |
1470 |
}); |
1471 |
|
1472 |
$('.bundle_remove').on('click', function() { |
1473 |
var component_itemnumber = $(this).data('itemnumber'); |
1474 |
var host_itemnumber = $(this).data('hostnumber'); |
1475 |
var alert = $(this).closest('div'); |
1476 |
var unlink_item_url = "/api/v1/items/" + host_itemnumber + "/bundled_items/item/" + component_itemnumber; |
1477 |
$.ajax({ |
1478 |
type: "DELETE", |
1479 |
url: unlink_item_url, |
1480 |
success: function(){ |
1481 |
alert.remove(); |
1482 |
} |
1483 |
}); |
1484 |
}); |
1485 |
|
1486 |
// print modals |
1487 |
$('.modal.printable').on('shown.bs.modal', function() { |
1488 |
$('.modal-dialog', this).addClass('focused'); |
1489 |
$('body').addClass('modalprinter'); |
1490 |
|
1491 |
if ($(this).hasClass('autoprint')) { |
1492 |
window.print(); |
1493 |
} |
1494 |
}).on('hidden.bs.modal', function() { |
1495 |
$('.modal-dialog', this).removeClass('focused'); |
1496 |
$('body').removeClass('modalprinter'); |
1497 |
}); |
1498 |
|
1499 |
$('.printModal').click(function() { |
1500 |
window.print(); |
1501 |
}); |
1369 |
}); |
1502 |
}); |
1370 |
</script> |
1503 |
</script> |
|
|
1504 |
|
1371 |
[% END %] |
1505 |
[% END %] |
1372 |
|
1506 |
|
1373 |
[% INCLUDE 'intranet-bottom.inc' %] |
1507 |
[% INCLUDE 'intranet-bottom.inc' %] |
1374 |
- |
|
|