|
Lines 695-701
Link Here
|
| 695 |
[% IF ( count ) %] |
695 |
[% IF ( count ) %] |
| 696 |
[% IF ( showncount ) %] |
696 |
[% IF ( showncount ) %] |
| 697 |
[% PROCESS items_table tab="holdings" items=itemloop %] |
697 |
[% PROCESS items_table tab="holdings" items=itemloop %] |
|
|
698 |
|
| 699 |
[% SET tab="holdings" %] |
| 700 |
<table id="table_items"> |
| 701 |
<thead> |
| 702 |
[% IF (StaffDetailItemSelection) %]<th id="[% tab | html %]_checkbox" data-colname="[% tab | html %]_checkbox" class="NoSort"></th>[% END %] |
| 703 |
[% IF Koha.Preference('LocalCoverImages') && ( tab == 'holdings' && itemloop_has_images || tab == 'otherholdings' && otheritemloop_has_images ) %] |
| 704 |
<th id="[% tab | html %]_cover_image" data-colname="[% tab | html %]_cover_image">Cover image</th> |
| 705 |
[% END %] |
| 706 |
[% IF ( item_level_itypes ) %]<th id="[% tab | html %]_itype" data-colname="[% tab | html %]_itype">Item type</th>[% END %] |
| 707 |
<th id="[% tab | html %]_holdingbranch" data-colname="[% tab | html %]_holdingbranch">Current library</th> |
| 708 |
<th id="[% tab | html %]_homebranch" data-colname="[% tab | html %]_homebranch">Home library</th> |
| 709 |
[% IF ( itemdata_ccode ) %]<th id="[% tab | html %]_ccode" data-colname="[% tab | html %]_ccode">Collection</th>[% END %] |
| 710 |
[% IF Koha.Preference('EnableItemGroups') %] |
| 711 |
<th id="[% tab | html %]_item_group" data-colname="[% tab | html %]_item_group">Item group</th> |
| 712 |
[% END %] |
| 713 |
<th id="[% tab | html %]_itemcallnumber" data-colname="[% tab | html %]_itemcallnumber">Call number</th> |
| 714 |
[% IF volinfo %] |
| 715 |
<th id="[% tab | html %]_enumchron" data-colname="[% tab | html %]_enumchron">Serial enumeration / chronology</th> |
| 716 |
[% END %] |
| 717 |
<th id="[% tab | html %]_status" data-colname="[% tab | html %]_status">Status</th> |
| 718 |
<th id="[% tab | html %]_lastseen" data-colname="[% tab | html %]_lastseen">Last seen</th> |
| 719 |
<th id="[% tab | html %]_issues" data-colname="[% tab | html %]_issues">Checkouts</th> |
| 720 |
<th id="[% tab | html %]_renewals" data-colname="[% tab | html %]_renewals">Renewals</th> |
| 721 |
<th id="[% tab | html %]_dateaccessioned" data-colname="[% tab | html %]_dateaccessioned">Date accessioned</th> |
| 722 |
<th id="[% tab | html %]_datelastborrowed" data-colname="[% tab | html %]_datelastborrowed">Date last borrowed</th> |
| 723 |
<th id="[% tab | html %]_barcode" data-colname="[% tab | html %]_barcode">Barcode</th> |
| 724 |
[% IF ( itemdata_uri ) %]<th id="[% tab | html %]_uri" data-colname="[% tab | html %]_uri">URL</th>[% END %] |
| 725 |
[% IF ( itemdata_copynumber ) %]<th id="[% tab | html %]_copynumber" data-colname="[% tab | html %]_copynumber">Copy number</th>[% END %] |
| 726 |
[% IF ( itemdata_stocknumber ) %]<th id="[% tab | html %]_stocknumber" data-colname="[% tab | html %]_stocknumber">Inventory number</th>[% END %] |
| 727 |
[% IF materials %]<th id="[% tab | html %]_materials" data-colname="[% tab | html %]_materials">Materials specified</th>[% END %] |
| 728 |
[% IF ( itemdata_itemnotes ) %]<th id="[% tab | html %]_itemnotes" data-colname="[% tab | html %]_itemnotes">Public notes</th>[% END %] |
| 729 |
[% IF ( itemdata_nonpublicnotes ) %]<th id="[% tab | html %]_itemnotes_nonpublic" data-colname="[% tab | html %]_itemnotes_nonpublic">Non-public notes</th>[% END %] |
| 730 |
[% IF ( hostrecords ) %]<th id="[% tab | html %]_hostrecord" data-colname="[% tab | html %]_hostrecord">Host records</th>[% END %] |
| 731 |
[% IF ( analyze ) %]<th id="[% tab | html %]_usedin" data-colname="[% tab | html %]_usedin">Used in</th><th></th>[% END %] |
| 732 |
[% IF ( ShowCourseReserves ) %]<th id="[% tab | html %]_course_reserves" data-colname="[% tab | html %]_course_reserves">Course reserves</th>[% END %] |
| 733 |
[% IF ( SpineLabelShowPrintOnBibDetails ) %]<th id="[% tab | html %]_spinelabel" data-colname="[% tab | html %]_spinelabel" class="NoSort">Spine label</th>[% END %] |
| 734 |
[% IF ( CAN_user_editcatalogue_edit_items ) %]<th id="[% tab | html %]_actions" data-colname="[% tab | html %]_actions"class="NoSort noExport"> </th>[% END %] |
| 735 |
</tr> |
| 736 |
</thead> |
| 737 |
</table> |
| 698 |
[% END %] |
738 |
[% END %] |
|
|
739 |
|
| 699 |
[% IF ( hiddencount ) %] |
740 |
[% IF ( hiddencount ) %] |
| 700 |
<p><a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% biblionumber | uri %]&showallitems=1">Show all items ([% hiddencount | html %] hidden)</a> |
741 |
<p><a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% biblionumber | uri %]&showallitems=1">Show all items ([% hiddencount | html %] hidden)</a> |
| 701 |
[% END %] |
742 |
[% END %] |
|
Lines 2449-2454
Link Here
|
| 2449 |
|
2490 |
|
| 2450 |
}); |
2491 |
}); |
| 2451 |
[% END %] |
2492 |
[% END %] |
|
|
2493 |
|
| 2494 |
let table_url = "/api/v1/biblios/[% biblio.biblionumber | uri %]/items?"; |
| 2495 |
var items_table = $("#table_items").kohaTable({ |
| 2496 |
ajax: { url: table_url }, |
| 2497 |
order: [[ 0, "asc" ]], |
| 2498 |
bAutoWidth: false, |
| 2499 |
columns: [ |
| 2500 |
[% IF (StaffDetailItemSelection) %] |
| 2501 |
{ |
| 2502 |
data: "me.item_id", |
| 2503 |
searchable: false, |
| 2504 |
orderable: false, |
| 2505 |
render: function (data, type, row, meta) { |
| 2506 |
// FIXME if item.can_be_edited |
| 2507 |
return ('<input type="checkbox" value="%s" name="itemnumber" />'.format(row.item_id)); |
| 2508 |
} |
| 2509 |
}, |
| 2510 |
[% END %] |
| 2511 |
[% IF Koha.Preference('LocalCoverImages') && ( tab == 'holdings' && itemloop_has_images || tab == 'otherholdings' && otheritemloop_has_images ) %] |
| 2512 |
{ |
| 2513 |
data: "", |
| 2514 |
searchable: true, |
| 2515 |
orderable: true, |
| 2516 |
render: function (data, type, row, meta) { |
| 2517 |
return ""; // FIXME Build cover images |
| 2518 |
} |
| 2519 |
}, |
| 2520 |
[% END %] |
| 2521 |
[% IF ( item_level_itypes ) %] |
| 2522 |
{ |
| 2523 |
data: "me.effective_item_type_id", |
| 2524 |
searchable: true, |
| 2525 |
orderable: true, |
| 2526 |
render: function (data, type, row, meta) { |
| 2527 |
return row.effective_item_type_id; // FIXME Display the translated description and the image |
| 2528 |
} |
| 2529 |
}, |
| 2530 |
[% END %] |
| 2531 |
{ |
| 2532 |
data: "me.holding_library_id", |
| 2533 |
searchable: true, |
| 2534 |
orderable: true, |
| 2535 |
render: function (data, type, row, meta) { |
| 2536 |
return row.holding_library_id; // FIXME Display library name |
| 2537 |
} |
| 2538 |
}, |
| 2539 |
{ |
| 2540 |
data: "me.home_library_id", |
| 2541 |
searchable: true, |
| 2542 |
orderable: true, |
| 2543 |
render: function (data, type, row, meta) { |
| 2544 |
return row.home_library_id; // FIXME Display library name |
| 2545 |
} |
| 2546 |
// FIXME Display the shelving location |
| 2547 |
}, |
| 2548 |
[% IF ( itemdata_ccode ) %] |
| 2549 |
{ |
| 2550 |
data: "me.collection_code", |
| 2551 |
searchable: true, |
| 2552 |
orderable: true, |
| 2553 |
render: function (data, type, row, meta) { |
| 2554 |
return row.collection_code; // FIXME Display str version |
| 2555 |
} |
| 2556 |
}, |
| 2557 |
[% END %] |
| 2558 |
[% IF Koha.Preference('EnableItemGroups') %] |
| 2559 |
{ |
| 2560 |
data: "", |
| 2561 |
searchable: true, |
| 2562 |
orderable: true, |
| 2563 |
render: function (data, type, row, meta) { |
| 2564 |
return "item.item_group.description";// FIXME item.item_group.description |
| 2565 |
} |
| 2566 |
}, |
| 2567 |
[% END %] |
| 2568 |
{ |
| 2569 |
data: "me.callnumber", |
| 2570 |
searchable: true, |
| 2571 |
orderable: true, |
| 2572 |
render: function (data, type, row, meta) { |
| 2573 |
return row.callnumber; |
| 2574 |
} |
| 2575 |
|
| 2576 |
}, |
| 2577 |
[% IF volinfo %] |
| 2578 |
{ |
| 2579 |
data: "", |
| 2580 |
searchable: true, |
| 2581 |
orderable: true, |
| 2582 |
render: function (data, type, row, meta) { |
| 2583 |
return "volinfo"; // FIXME volinfo/enumchron/serial_issue_number |
| 2584 |
} |
| 2585 |
}, |
| 2586 |
[% END %] |
| 2587 |
{ |
| 2588 |
data: "", |
| 2589 |
searchable: true, |
| 2590 |
orderable: true, |
| 2591 |
render: function (data, type, row, meta) { |
| 2592 |
return "status"; // FIXME Display status |
| 2593 |
} |
| 2594 |
}, |
| 2595 |
{ |
| 2596 |
data: "me.last_seen_date", |
| 2597 |
searchable: true, |
| 2598 |
orderable: true, |
| 2599 |
render: function (data, type, row, meta) { |
| 2600 |
return row.last_seen_date; // FIXME Format date |
| 2601 |
} |
| 2602 |
}, |
| 2603 |
{ |
| 2604 |
data: "me.checkouts_count", |
| 2605 |
searchable: true, |
| 2606 |
orderable: true, |
| 2607 |
render: function (data, type, row, meta) { |
| 2608 |
return row.checkouts_count || 0; |
| 2609 |
} |
| 2610 |
}, |
| 2611 |
{ |
| 2612 |
data: "me.renewals_count", |
| 2613 |
searchable: true, |
| 2614 |
orderable: true, |
| 2615 |
render: function (data, type, row, meta) { |
| 2616 |
return row.renewals_count || 0; |
| 2617 |
} |
| 2618 |
}, |
| 2619 |
{ |
| 2620 |
data: "me.acquisition_date", |
| 2621 |
searchable: true, |
| 2622 |
orderable: true, |
| 2623 |
render: function (data, type, row, meta) { |
| 2624 |
return row.acquisition_date; // FIXME Format date |
| 2625 |
} |
| 2626 |
}, |
| 2627 |
{ |
| 2628 |
data: "me.last_checkout_date", |
| 2629 |
searchable: true, |
| 2630 |
orderable: true, |
| 2631 |
render: function (data, type, row, meta) { |
| 2632 |
return row.last_checkout_date; // FIXME Format date |
| 2633 |
} |
| 2634 |
}, |
| 2635 |
{ |
| 2636 |
data: "me.external_id", |
| 2637 |
searchable: true, |
| 2638 |
orderable: true, |
| 2639 |
render: function (data, type, row, meta) { |
| 2640 |
return row.external_id; // FIXME Display link to moredetail |
| 2641 |
} |
| 2642 |
}, |
| 2643 |
[% IF itemdata_uri %] |
| 2644 |
{ |
| 2645 |
data: "me.uri", |
| 2646 |
searchable: true, |
| 2647 |
orderable: true, |
| 2648 |
render: function (data, type, row, meta) { |
| 2649 |
return row.uri; // FIXME Display link |
| 2650 |
} |
| 2651 |
}, |
| 2652 |
[% END %] |
| 2653 |
[% IF ( itemdata_copynumber ) %] |
| 2654 |
{ |
| 2655 |
data: "me.copy_number", |
| 2656 |
searchable: true, |
| 2657 |
orderable: true, |
| 2658 |
render: function (data, type, row, meta) { |
| 2659 |
return row.copy_number; // FIXME Display str version |
| 2660 |
} |
| 2661 |
}, |
| 2662 |
[% END %] |
| 2663 |
[% IF ( itemdata_stocknumber ) %] |
| 2664 |
{ |
| 2665 |
data: "me.inventory_number", |
| 2666 |
searchable: true, |
| 2667 |
orderable: true, |
| 2668 |
render: function (data, type, row, meta) { |
| 2669 |
return row.inventory_number; |
| 2670 |
} |
| 2671 |
}, |
| 2672 |
[% END %] |
| 2673 |
[% IF materials %] |
| 2674 |
{ |
| 2675 |
data: "me.materials_notes", |
| 2676 |
searchable: true, |
| 2677 |
orderable: true, |
| 2678 |
render: function (data, type, row, meta) { |
| 2679 |
return row.materials_notes; |
| 2680 |
} |
| 2681 |
}, |
| 2682 |
[% END %] |
| 2683 |
[% IF ( itemdata_itemnotes ) %] |
| 2684 |
{ |
| 2685 |
data: "me.public_notes", |
| 2686 |
searchable: true, |
| 2687 |
orderable: true, |
| 2688 |
render: function (data, type, row, meta) { |
| 2689 |
return row.public_notes; // FIXME Replace \n with br |
| 2690 |
} |
| 2691 |
}, |
| 2692 |
[% END %] |
| 2693 |
[% IF itemdata_nonpublicnotes %] |
| 2694 |
{ |
| 2695 |
data: "me.internal_notes", |
| 2696 |
searchable: true, |
| 2697 |
orderable: true, |
| 2698 |
render: function (data, type, row, meta) { |
| 2699 |
return row.internal_notes; |
| 2700 |
} |
| 2701 |
}, |
| 2702 |
[% END %] |
| 2703 |
[% IF ( hostrecords ) %] |
| 2704 |
{ |
| 2705 |
data: "", |
| 2706 |
searchable: true, |
| 2707 |
orderable: true, |
| 2708 |
render: function (data, type, row, meta) { |
| 2709 |
return ""; // FIXME Display host title with link |
| 2710 |
} |
| 2711 |
}, |
| 2712 |
[% END %] |
| 2713 |
[% IF ( analyze ) %] |
| 2714 |
{ |
| 2715 |
data: "", |
| 2716 |
searchable: true, |
| 2717 |
orderable: true, |
| 2718 |
render: function (data, type, row, meta) { |
| 2719 |
return ""; // FIXME Display analytic count + link |
| 2720 |
} |
| 2721 |
}, |
| 2722 |
[% END %] |
| 2723 |
[% IF ( ShowCourseReserves ) %] |
| 2724 |
{ |
| 2725 |
data: "", |
| 2726 |
searchable: true, |
| 2727 |
orderable: true, |
| 2728 |
render: function (data, type, row, meta) { |
| 2729 |
return ""; // FIXME Display course reserves |
| 2730 |
} |
| 2731 |
}, |
| 2732 |
[% END %] |
| 2733 |
[% IF ( SpineLabelShowPrintOnBibDetails ) %] |
| 2734 |
{ |
| 2735 |
data: "", |
| 2736 |
searchable: true, |
| 2737 |
orderable: true, |
| 2738 |
render: function (data, type, row, meta) { |
| 2739 |
return ""; // FIXME Print label |
| 2740 |
} |
| 2741 |
}, |
| 2742 |
[% END %] |
| 2743 |
[% IF CAN_user_editcatalogue_edit_items %] |
| 2744 |
{ |
| 2745 |
data: function( row, type, val, meta ) { |
| 2746 |
let result = 'Edit + Delete'; // FIXME Add links |
| 2747 |
return result; |
| 2748 |
}, |
| 2749 |
searchable: false, |
| 2750 |
orderable: false |
| 2751 |
} |
| 2752 |
[% END %] |
| 2753 |
], |
| 2754 |
}); |
| 2452 |
</script> |
2755 |
</script> |
| 2453 |
[% CoverImagePlugins | $raw %] |
2756 |
[% CoverImagePlugins | $raw %] |
| 2454 |
[% END %] |
2757 |
[% END %] |
| 2455 |
- |
|
|