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 <bgkriegel@gmail.com> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
This commit is contained in:
parent
74c63d27c7
commit
ec6c143f1b
1 changed files with 15 additions and 0 deletions
|
@ -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 ==";
|
||||
|
|
Loading…
Reference in a new issue