From 1200b5dab685305100bfd1eb8660d97e7948feaa 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 Signed-off-by: Bernardo Gonzalez Kriegel Fixed merge conflict, works as described. No errors --- .../search_for_data_inconsistencies.pl | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/misc/maintenance/search_for_data_inconsistencies.pl b/misc/maintenance/search_for_data_inconsistencies.pl index 1790495e88..fd66200985 100755 --- a/misc/maintenance/search_for_data_inconsistencies.pl +++ b/misc/maintenance/search_for_data_inconsistencies.pl @@ -25,6 +25,7 @@ use Koha::BiblioFrameworks; use Koha::Biblioitems; use Koha::Items; use Koha::ItemTypes; +use C4::Biblio; { my $items = Koha::Items->search({ -or => { homebranch => undef, holdingbranch => undef }}); @@ -187,6 +188,20 @@ use Koha::ItemTypes; } } +{ + 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.17.1