@@ -, +, @@ search_for_data_inconsistencies.pl --- misc/maintenance/search_for_data_inconsistencies.pl | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) --- a/misc/maintenance/search_for_data_inconsistencies.pl +++ a/misc/maintenance/search_for_data_inconsistencies.pl @@ -25,6 +25,7 @@ use Koha::BiblioFrameworks; use Koha::Biblioitems; use Koha::Items; use Koha::ItemTypes; +use Koha::Patrons; use C4::Biblio; { @@ -209,6 +210,22 @@ use C4::Biblio; } } +{ + my $patrons = Koha::Patrons->search( {}, { order_by => [ 'categorycode', 'borrowernumber' ] } ); + my @invalid_patrons; + while ( my $patron = $patrons->next ) { + push @invalid_patrons, $patron unless $patron->is_valid_age; + } + if (@invalid_patrons) { + new_section("Patrons with invalid age for category"); + foreach my $patron (@invalid_patrons) { + new_item( sprintf "Patron borrowernumber=%s in category '%s' has invalid age '%s'", + $patron->borrowernumber, $patron->category->categorycode, $patron->get_age ); + } + new_hint("You may change patron's category automatically with misc/cronjobs/update_patrons_category.pl"); + } +} + sub new_section { my ( $name ) = @_; say "\n== $name =="; --