From 307505dce91f582df0e6358a4e89f6165b363657 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 Signed-off-by: Martin Renvoize --- .../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 f6ce0667c3c..92455cb484f 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 @@ -545,20 +545,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.47.1