3 # This file is part of Koha.
5 # Koha is free software; you can redistribute it and/or modify it
6 # under the terms of the GNU General Public License as published by
7 # the Free Software Foundation; either version 3 of the License, or
8 # (at your option) any later version.
10 # Koha is distributed in the hope that it will be useful, but
11 # WITHOUT ANY WARRANTY; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 # GNU General Public License for more details.
15 # You should have received a copy of the GNU General Public License
16 # along with Koha; if not, see <http://www.gnu.org/licenses>.
21 use Koha::Authorities;
24 my $items = Koha::Items->search({ -or => { homebranch => undef, holdingbranch => undef }});
25 if ( $items->count ) { new_section("Not defined items.homebranch and/or items.holdingbranch")}
26 while ( my $item = $items->next ) {
27 if ( not $item->homebranch and not $item->holdingbranch ) {
28 new_item(sprintf "Item with itemnumber=%s does not have homebranch and holdingbranch defined", $item->itemnumber);
29 } elsif ( not $item->homebranch ) {
30 new_item(sprintf "Item with itemnumber=%s does not have homebranch defined", $item->itemnumber);
32 new_item(sprintf "Item with itemnumber=%s does not have holdingbranch defined", $item->itemnumber);
35 if ( $items->count ) { new_hint("Edit these items and set valid homebranch and/or holdingbranch")}
39 # No join possible, FK is missing at DB level
40 my @auth_types = Koha::Authority::Types->search->get_column('authtypecode');
41 my $authorities = Koha::Authorities->search({authtypecode => { 'not in' => \@auth_types } });
42 if ( $authorities->count ) {new_section("Invalid auth_header.authtypecode")}
43 while ( my $authority = $authorities->next ) {
44 new_item(sprintf "Authority with authid=%s does not have a code defined (%s)", $authority->authid, $authority->authtypecode);
46 if ( $authorities->count ) {new_hint("Go to 'Home › Administration › Authority types' to define them")}
65 search_for_data_inconsistencies.pl
69 perl search_for_data_inconsistencies.pl
73 Catch data inconsistencies in Koha database
75 * Items with undefined homebranch and/or holdingbranch
76 * Authorities with undefined authtypecodes/authority types