From f0c30e8b080e4db41e95c4a59d12ce232f5aecb5 Mon Sep 17 00:00:00 2001 From: Nick Clemens Date: Mon, 22 Jul 2024 19:46:33 +0000 Subject: [PATCH] Bug 37425: Check for existence of biblio object before fetching cover images This patch simply adds a conditional to ensure the biblio object has been retrieved and assumes no cover images otherwise To test: 1 - Enable system preference LocalCoverImages 2 - Perform a search in staff interface 3 - Find the biblionumebr for one of the results and delete it via the SQL backend: DELETE FROM biblio WHERE biblionumber=3; 4 - Search again. 5 - KO! Can't call method "cover_images" on an undefined value at /usr/share/koha/intranet/cgi-bin/catalogue/search.pl line 671. 6 - Reindex, confirm error is gone 7 - Apply patch 8 - Search again 9 - Delete a record from the results via SQL 10 - Reload and confirm no error 11 - Reindex and repeat search and confirm no error Signed-off-by: Roman Dolny Signed-off-by: Julian Maurice Signed-off-by: Martin Renvoize (cherry picked from commit 8fdddccffb2fa165b32e6a9c9b8d6d3dcacd5b08) Signed-off-by: Lucas Gass (cherry picked from commit 4d141a6bb7210b1d4136bed3dcc38e408f148554) Signed-off-by: Fridolin Somers --- catalogue/search.pl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/catalogue/search.pl b/catalogue/search.pl index 66043ad993..760389c3cf 100755 --- a/catalogue/search.pl +++ b/catalogue/search.pl @@ -667,7 +667,8 @@ for (my $i=0;$i<@servers;$i++) { } if ( C4::Context->preference('LocalCoverImages') ) { - $line->{has_local_cover_image} = $line->{biblio_object}->cover_images->count; + $line->{has_local_cover_image} = + $line->{biblio_object} ? $line->{biblio_object}->cover_images->count : 0; } } my( $page_numbers, $hits_to_paginate, $pages, $current_page_number, $previous_page_offset, $next_page_offset, $last_page_offset ) = -- 2.39.5