This patch adds a new check in
misc/maintenance/search_for_data_inconsistencies.pl to search for not
defined authority codes.
Test plan:
Set some auth_header.authtypecode to not defined authority codes in Koha
(UPDATE auth_header SET authtypecode="XXX" WHERE authid=42;)
Then run `misc/maintenance/search_for_data_inconsistencies.pl`
Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
use Modern::Perl;
use Koha::Items;
+use Koha::Authorities;
{
my $items = Koha::Items->search({ -or => { homebranch => undef, holdingbranch => undef }});
if ( $items->count ) { new_hint("Edit these items and set valid homebranch and/or holdingbranch")}
}
+{
+ # No join possible, FK is missing at DB level
+ my @auth_types = Koha::Authority::Types->search->get_column('authtypecode');
+ my $authorities = Koha::Authorities->search({authtypecode => { 'not in' => \@auth_types } });
+ if ( $authorities->count ) {new_section("Invalid auth_header.authtypecode")}
+ while ( my $authority = $authorities->next ) {
+ new_item(sprintf "Authority with authid=%s does not have a code defined (%s)", $authority->authid, $authority->authtypecode);
+ }
+ if ( $authorities->count ) {new_hint("Go to 'Home › Administration › Authority types' to define them")}
+}
+
sub new_section {
my ( $name ) = @_;
say "\n== $name ==";