|
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 987-992
Link Here
|
| 987 |
[% INCLUDE 'modals/resolve_return_claim.inc' %] |
1075 |
[% INCLUDE 'modals/resolve_return_claim.inc' %] |
| 988 |
[% END %] |
1076 |
[% END %] |
| 989 |
|
1077 |
|
|
|
1078 |
[% INCLUDE 'modals/bundle_contents.inc' %] |
| 1079 |
|
| 990 |
[% MACRO jsinclude BLOCK %] |
1080 |
[% MACRO jsinclude BLOCK %] |
| 991 |
[% INCLUDE 'datatables.inc' %] |
1081 |
[% INCLUDE 'datatables.inc' %] |
| 992 |
[% INCLUDE 'columns_settings.inc' %] |
1082 |
[% INCLUDE 'columns_settings.inc' %] |
|
Lines 1167-1174
Link Here
|
| 1167 |
window.open("/cgi-bin/koha/members/printslip.pl?borrowernumber=" + borrowernumber + "&print=checkinslip", "printwindow"); |
1257 |
window.open("/cgi-bin/koha/members/printslip.pl?borrowernumber=" + borrowernumber + "&print=checkinslip", "printwindow"); |
| 1168 |
}); |
1258 |
}); |
| 1169 |
|
1259 |
|
|
|
1260 |
// item bundles |
| 1261 |
$('#verify-items-bundle-contents-barcodes').on('input', function (ev) { |
| 1262 |
const barcodes = ev.target.value.split('\n').map(function(s) { return s.trim() }); |
| 1263 |
$('#items-bundle-contents-table tr').each(function () { |
| 1264 |
const barcode = this.getAttribute('data-barcode'); |
| 1265 |
if (barcodes.includes(barcode)) { |
| 1266 |
this.classList.add('ok'); |
| 1267 |
} else { |
| 1268 |
this.classList.remove('ok'); |
| 1269 |
} |
| 1270 |
}) |
| 1271 |
}); |
| 1272 |
|
| 1273 |
$('.bundle_remove').on('click', function() { |
| 1274 |
var component_itemnumber = $(this).data('itemnumber'); |
| 1275 |
var host_itemnumber = $(this).data('hostnumber'); |
| 1276 |
var alert = $(this).closest('div'); |
| 1277 |
var unlink_item_url = "/api/v1/items/" + host_itemnumber + "/bundled_items/item/" + component_itemnumber; |
| 1278 |
$.ajax({ |
| 1279 |
type: "DELETE", |
| 1280 |
url: unlink_item_url, |
| 1281 |
success: function(){ |
| 1282 |
alert.remove(); |
| 1283 |
} |
| 1284 |
}); |
| 1285 |
}); |
| 1286 |
|
| 1287 |
// print modals |
| 1288 |
$('.modal.printable').on('shown.bs.modal', function() { |
| 1289 |
$('.modal-dialog', this).addClass('focused'); |
| 1290 |
$('body').addClass('modalprinter'); |
| 1291 |
|
| 1292 |
if ($(this).hasClass('autoprint')) { |
| 1293 |
window.print(); |
| 1294 |
} |
| 1295 |
}).on('hidden.bs.modal', function() { |
| 1296 |
$('.modal-dialog', this).removeClass('focused'); |
| 1297 |
$('body').removeClass('modalprinter'); |
| 1298 |
}); |
| 1299 |
|
| 1300 |
$('.printModal').click(function() { |
| 1301 |
window.print(); |
| 1302 |
}); |
| 1170 |
}); |
1303 |
}); |
| 1171 |
</script> |
1304 |
</script> |
|
|
1305 |
|
| 1172 |
[% END %] |
1306 |
[% END %] |
| 1173 |
|
1307 |
|
| 1174 |
[% INCLUDE 'intranet-bottom.inc' %] |
1308 |
[% INCLUDE 'intranet-bottom.inc' %] |
| 1175 |
- |
|
|