From 332fd816298428a645c628da7d425f76c72c7068 Mon Sep 17 00:00:00 2001
From: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Date: Wed, 10 Aug 2022 11:12:06 +0200
Subject: [PATCH] Bug 31239: Fix incorrect AV linked to a mapped biblio column

If an AV is linked to a MARC field mapped with a biblio column, the
search_for_data_inconsistencies.pl script might explode with

The method Koha::Biblioitem->title is not covered by tests!

Trace begun at /kohadevbox/koha/Koha/Object.pm line 875
Koha::Object::AUTOLOAD('Koha::Biblioitem=HASH(0x556b67fa7168)') called at misc/maintenance/search_for_data_inconsistencies.pl line 246

Test plan:
For a given framework, pick a biblio using it
Link 245$a with an authorised value category
Run the script
=> Notice that with this script applied you will see the warning
=> Without this patch you got the error

Signed-off-by: David Nind <david@davidnind.com>
---
 misc/maintenance/search_for_data_inconsistencies.pl | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/misc/maintenance/search_for_data_inconsistencies.pl b/misc/maintenance/search_for_data_inconsistencies.pl
index e1526e43a5..a948b902a9 100755
--- a/misc/maintenance/search_for_data_inconsistencies.pl
+++ b/misc/maintenance/search_for_data_inconsistencies.pl
@@ -243,7 +243,10 @@ use C4::Biblio qw( GetMarcFromKohaField );
                 my $kohafield = $v->{kohafield};
                 my ( $table, $column ) = split '\.', $kohafield;
                 while ( my $i = $items->next ) {
-                    my $value = $table eq 'items' ? $i->$column : $i->biblioitem->$column;
+                    my $value =
+                        $table eq 'items'  ? $i->$column
+                      : $table eq 'biblio' ? $i->biblio->$column
+                      :                      $i->biblioitem->$column;
                     $output .= " {" . $i->itemnumber . " => " . $value . "}";
                 }
                 new_item(
-- 
2.30.2