From ebbd4415e8c807256e65d6f3c2551fbe9bacd744 Mon Sep 17 00:00:00 2001 From: Fridolin Somers Date: Tue, 22 Oct 2019 14:31:08 +0200 Subject: [PATCH] Bug 23871: data inconsistencies - check title exists In biblio records, a field must be linked to biblio.title. 200$a in UNIMARC, 100$a MARC21 (and other). If this field is undefined, some pages like checkouts table can fail. Test plan : 1) Remove biblio title in SQL : UPDATE biblio SET title='' WHERE biblionumber=XXX 2) Run misc/maintenance/search_for_data_inconsistencies.pl 3) You see the record as an inconsistency 4) Reset a title UPDATE biblio SET title='50 shades of Grey' WHERE biblionumber=XXX 5) Run misc/maintenance/search_for_data_inconsistencies.pl 6) Record is no longer an inconsistency --- .../search_for_data_inconsistencies.pl | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/misc/maintenance/search_for_data_inconsistencies.pl b/misc/maintenance/search_for_data_inconsistencies.pl index fa5aa20ba3..666aea34ac 100755 --- a/misc/maintenance/search_for_data_inconsistencies.pl +++ b/misc/maintenance/search_for_data_inconsistencies.pl @@ -19,9 +19,11 @@ use Modern::Perl; use Koha::Script; use Koha::Items; +use Koha::Biblios; use Koha::Biblioitems; use Koha::ItemTypes; use Koha::Authorities; +use C4::Biblio; { my $items = Koha::Items->search({ -or => { homebranch => undef, holdingbranch => undef }}); @@ -108,6 +110,20 @@ use Koha::Authorities; } } +{ + my $biblios = Koha::Biblios->search({ -or => { title => undef, title => '' }}); + if ( $biblios->count ) { + my ( $title_tag, $title_subtag ) = C4::Biblio::GetMarcFromKohaField( 'biblio.title' ); + my $title_field = $title_tag // ''; + $title_field .= '$'.$title_subtag if $title_subtag; + new_section("Biblio without title $title_field"); + while ( my $biblio = $biblios->next ) { + new_item(sprintf "Biblio with biblionumber=%s does not have title defined", $biblio->biblionumber); + } + new_hint("Edit these biblio records to defined a title"); + } +} + sub new_section { my ( $name ) = @_; say "\n== $name =="; -- 2.23.0