Lines 879-899
sub CancelExpiredReserves {
Link Here
|
879 |
|
879 |
|
880 |
my $today = dt_from_string(); |
880 |
my $today = dt_from_string(); |
881 |
my $cancel_on_holidays = C4::Context->preference('ExpireReservesOnHolidays'); |
881 |
my $cancel_on_holidays = C4::Context->preference('ExpireReservesOnHolidays'); |
|
|
882 |
my $expireWaiting = C4::Context->preference('ExpireReservesMaxPickUpDelay'); |
882 |
|
883 |
|
883 |
my $dbh = C4::Context->dbh; |
884 |
my $dbh = C4::Context->dbh; |
884 |
my $sth = $dbh->prepare( " |
|
|
885 |
SELECT * FROM reserves WHERE DATE(expirationdate) < DATE( CURDATE() ) |
886 |
AND expirationdate IS NOT NULL |
887 |
" ); |
888 |
$sth->execute(); |
889 |
|
885 |
|
890 |
while ( my $res = $sth->fetchrow_hashref() ) { |
886 |
my $dtf = Koha::Database->new->schema->storage->datetime_parser; |
891 |
my $calendar = Koha::Calendar->new( branchcode => $res->{'branchcode'} ); |
887 |
|
892 |
my $cancel_params = { reserve_id => $res->{'reserve_id'} }; |
888 |
my $params = { expirationdate => { '<', $dtf->format_date($today) } }; |
|
|
889 |
|
890 |
$params->{found} = undef unless $expireWaiting; |
891 |
|
892 |
# FIXME To move to Koha::Holds->search_expired (?) |
893 |
my $holds = Koha::Holds->search( $params ); |
893 |
|
894 |
|
|
|
895 |
while ( my $hold = $holds->next ) { |
896 |
my $calendar = Koha::Calendar->new( branchcode => $hold->branchcode ); |
894 |
next if !$cancel_on_holidays && $calendar->is_holiday( $today ); |
897 |
next if !$cancel_on_holidays && $calendar->is_holiday( $today ); |
895 |
|
898 |
|
896 |
if ( $res->{found} eq 'W' ) { |
899 |
my $cancel_params = { reserve_id => $hold->reserve_id }; |
|
|
900 |
if ( $hold->found eq 'W' ) { |
897 |
$cancel_params->{charge_cancel_fee} = 1; |
901 |
$cancel_params->{charge_cancel_fee} = 1; |
898 |
} |
902 |
} |
899 |
|
903 |
|
900 |
- |
|
|