From c133edb8e83997c0cc36d256c57716681b37e52e Mon Sep 17 00:00:00 2001 From: Lucas Gass Date: Mon, 2 Dec 2024 17:40:54 +0000 Subject: [PATCH] Bug 38512: Fix display of recalls in items table 1. Turn on UseRecalls 2. Set circ rules to allow for recalls ( Recalls allowed(total) and Recalls allowed(count)) 3. Check something out to a patron, choose a record with multiple items on it 4. With another patron recall the item from the OPAC 5. Choose "Recall next available item" 6. Now go back to the item table and see that all items on the bib say something like: "Recalled by koha (42) on 11/21/2024" 7. APPLY PATCH 8. Do steps 3 - 6 again and now the items should correctly show as available. 9. Place a recall again but choose 'Recall a specific item'. 10. Look at the table again, it should accuretly show the recall in the status column. "recalled by koha (42) on 11/21/2024" 11. Turn off UseRecalls, make sure the table still loads properly. Signed-off-by: Emmi Takkinen --- .../html_helpers/tables/items/catalogue_detail.inc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/html_helpers/tables/items/catalogue_detail.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/html_helpers/tables/items/catalogue_detail.inc index 9fa81b87f7..37b95f254a 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/includes/html_helpers/tables/items/catalogue_detail.inc +++ b/koha-tmpl/intranet-tmpl/prog/en/includes/html_helpers/tables/items/catalogue_detail.inc @@ -547,20 +547,20 @@ } [% IF Koha.Preference('UseRecalls') %] - if ( row.recall ) { + if ( row.recall && ( row.item_id === row.recall.item_id ) ) { if ( row.recall.waiting_date ) { - nodes += '%s'.format(_("Waiting at %s since %s").format(escape_str(row.recall.pickup_library_id.str), $date(row.recall.waiting_date))); + nodes += '%s'.format(_("Waiting recall at %s since %s").format(escape_str(row.recall._strings.pickup_library_id.str), $date(row.recall.waiting_date))); } else { [%# Hacky for patron_to_html in case we simply want to display the patron's library name %] row.recall.patron.library = { name: libraries_names.get(row.recall.patron.library_id) }; let patron_to_html = $patron_to_html(row.recall.patron, {url: true, display_cardnumber: true, hide_patron_name }); - nodes += '%s'.format(_("recalled by %s on %s").format(patron_to_html, $date(row.recall.created_date))) + nodes += '%s'.format(_("Recalled by %s on %s").format(patron_to_html, $date(row.recall.created_date))) } } [% END %] - if ( ! ( row.not_for_loan_status || item_types_notforloan.get(row.item_type_id) || row.checked_out_date || row.lost_status || row.withdrawn || row.damaged_status || row.transfer || row.first_hold || row.recall ) ) { + if ( ! ( row.not_for_loan_status || item_types_notforloan.get(row.item_type_id) || row.checked_out_date || row.lost_status || row.withdrawn || row.damaged_status || row.transfer || row.first_hold || ( row.recall && ( row.item_id === row.recall.item_id ) ) )) { nodes += ' %s'.format(_("Available")) } -- 2.34.1