Koha/misc/cronjobs/automatic_item_modification_by_age.pl
Martin Renvoize d2e189ca1c Bug 22600: Set 'commandline' interface appropriately
This patch change Koha::Cron to be a more generic Koha::Script class and
update all commanline driven scripts to use it.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
2019-04-10 19:43:11 +00:00

107 lines
2.4 KiB
Perl
Executable file

#!/usr/bin/perl
use Modern::Perl;
use Getopt::Long;
use Pod::Usage;
use JSON;
use Koha::Script -cron;
use C4::Context;
use C4::Items;
# Getting options
my ( $verbose, $help, $confirm );
my $result = GetOptions(
'h|help' => \$help,
'v|verbose' => \$verbose,
'c|confirm' => \$confirm,
);
pod2usage(1) if $help;
$verbose = 1 unless $confirm;
# Load configuration from the syspref
my $syspref_content = C4::Context->preference('automatic_item_modification_by_age_configuration');
my $rules = eval { JSON::from_json( $syspref_content ) };
pod2usage({ -message => "Unable to load the configuration : $@", -exitval => 1 })
if $@;
my $report = C4::Items::ToggleNewStatus( { rules => $rules, report_only => not $confirm } );
if ( $verbose ) {
if ( $report ) {
say "Item to modify:";
while ( my ( $itemnumber, $substitutions ) = each %$report ) {
for my $substitution ( @$substitutions ) {
if ( defined $substitution->{value} and $substitution->{value} ne q|| ) {
say "\titemnumber $itemnumber: $substitution->{field}=$substitution->{value}";
} else {
say "\titemnumber $itemnumber: field $substitution->{field} to delete";
}
}
}
} else {
say "There is no item to modify";
}
}
exit(0);
__END__
=head1 NAME
automatic_item_modification_by_age.pl
=head1 SYNOPSIS
./automatic_item_modification_by_age.pl -h
Toggle recent acquisitions status.
Use this script to delete "new" status for items.
=head1 OPTIONS
=over 8
=item B<-h|--help>
Prints this help message.
=item B<-v|--verbose>
Set the verbose flag.
=item B<-c|--confirm>
The script will modify the items.
=back
=head1 AUTHOR
Jonathan Druart <jonathan.druart@biblibre.com>
=head1 COPYRIGHT
Copyright 2013 BibLibre
=head1 LICENSE
This file is part of Koha.
Koha is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
Koha is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with Koha; if not, see <http://www.gnu.org/licenses>.
=cut