Bug 37047: Make use of DRY bookings-table.js in moremember.tt

Test plan:
No functionality change, follow the original test plan and make sure the
table is displayed correctly on both screens:
<intra>/cgi-bin/koha/circ/circulation.pl?borrowernumber=
<intra>/cgi-bin/koha/members/moremember.pl?borrowernumber=1

Signed-off-by: Pedro Amorim <pedro.amorim@ptfs-europe.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 5f8c575345)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
This commit is contained in:
Pedro Amorim 2024-06-12 11:42:24 +00:00 committed by Lucas Gass
parent 020190e62f
commit 60bbccb242
1 changed files with 3 additions and 100 deletions

View File

@ -779,106 +779,8 @@
table_settings_relatives_issues_table = [% TablesSettings.GetTableSettings( 'members', 'moremember', 'relatives-issues-table', 'json' ) | $raw %]
table_settings_holds_table = [% TablesSettings.GetTableSettings( 'members', 'moremember', 'holds-table', 'json' ) | $raw %]
table_settings_bookings_table = [% TablesSettings.GetTableSettings( 'members', 'moremember', 'bookings-table', 'json' ) | $raw %]
var bookings_table;
$(document).ready(function() {
$("#info_digests").tooltip();
$("#finesholdsissues a[data-toggle='tab']").on("shown.bs.tab", function(e){
var oTable = $('div.dataTables_wrapper > table', $(e.target.hash) ).dataTable();
if ( oTable.length > 0 ) {
oTable.fnAdjustColumnSizing();
}
});
$("#view_restrictions").on("click",function(){
$('#reldebarments-tab').click();
});
$("#view_guarantees_finesandcharges").on("click",function(){
$('#guarantees_finesandcharges-tab').click();
});
// Bookings
// Load bookings table on tab selection
$("#bookings-tab").on( "click", function(){
if ( !bookings_table ) {
var today = new Date();
var bookings_table_url = "/api/v1/bookings";
bookings_table = $('#bookings_table').kohaTable({
"ajax": {
"url": bookings_table_url
},
"embed": [
"biblio",
"item",
"patron"
],
"columns": [{
"data": "booking_id",
"title": _("Booking ID"),
},
{
"data": "biblio.title",
"title": _("Title"),
"searchable": true,
"orderable": true,
"render": function(data,type,row,meta) {
return $biblio_to_html(row.biblio, {
link: 'bookings'
});
}
},
{
"data": "item.external_id",
"title": _("Item"),
"searchable": true,
"orderable": true,
"defaultContent": _("Any item"),
"render": function(data,type,row,meta) {
if ( row.item ) {
return row.item.external_id + " (" + row.booking_id + ")";
} else {
return null;
}
}
},
{
"data": "start_date",
"title": _("Start date"),
"searchable": true,
"orderable": true,
"render": function(data, type, row, meta) {
return $date(row.start_date);
}
},
{
"data": "end_date",
"title": _("End date"),
"searchable": true,
"orderable": true,
"render": function(data, type, row, meta) {
return $date(row.end_date);
}
},
{
"data": "",
"title": _("Actions"),
"class": "actions",
"searchable": false,
"orderable": false,
"render": function(data, type, row, meta) {
let result = "";
[% IF CAN_user_circulate_manage_bookings %]
result += '<button type="button" class="btn btn-default btn-xs cancel-action" data-toggle="modal" data-target="#cancelBookingModal" data-booking="'+row.booking_id+'"><i class="fa fa-trash" aria-hidden="true"></i> '+_("Cancel")+'</button>';
[% END %]
return result;
}
}]
}, table_settings_bookings_table, 0, { patron_id: "[% patron.borrowernumber | html %]", end_date: { ">=": today.toISOString() } });
};
});
});
CAN_user_circulate_manage_bookings = [% CAN_user_circulate_manage_bookings | $raw %]
patron_borrowernumber = [% patron.borrowernumber | $raw %]
function uncheck_sibling(me){
nodename=me.getAttribute("name");
@ -903,6 +805,7 @@
}
}
</script>
[% Asset.js("js/bookings-table.js") | $raw %]
[% END %]
[% INCLUDE 'intranet-bottom.inc' %]