Bugzilla – Attachment 112199 Details for
Bug 12656
Allow a CANCELLATION_REASON to be specified on the cancel_expired_holds.pl job
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 12656: Allow --reason to be passed to cancel_expired_holds
Bug-12656-Allow---reason-to-be-passed-to-cancelexp.patch (text/plain), 3.14 KB, created by
Martin Renvoize (ashimema)
on 2020-10-22 15:27:54 UTC
(
hide
)
Description:
Bug 12656: Allow --reason to be passed to cancel_expired_holds
Filename:
MIME Type:
Creator:
Martin Renvoize (ashimema)
Created:
2020-10-22 15:27:54 UTC
Size:
3.14 KB
patch
obsolete
>From c7996f59061e4e94bf7b729c842b32ce6ac426bd Mon Sep 17 00:00:00 2001 >From: Martin Renvoize <martin.renvoize@ptfs-europe.com> >Date: Thu, 22 Oct 2020 16:26:03 +0100 >Subject: [PATCH] Bug 12656: Allow --reason to be passed to > cancel_expired_holds > >This patch adds the --reason option to cancel_expired_holds which allows >the library to optionally set a reason for cancellation when running the >cronjob. This will prompt the HOLD_CANCELLED notice to be sent to the >patron. >--- > C4/Reserves.pm | 2 + > misc/cronjobs/holds/cancel_expired_holds.pl | 52 +++++++++++++++++++-- > 2 files changed, 51 insertions(+), 3 deletions(-) > >diff --git a/C4/Reserves.pm b/C4/Reserves.pm >index d971324f1b..651942f421 100644 >--- a/C4/Reserves.pm >+++ b/C4/Reserves.pm >@@ -901,6 +901,7 @@ Cancels all reserves with an expiration date from before today. > =cut > > sub CancelExpiredReserves { >+ my $cancellation_reason = shift; > my $today = dt_from_string(); > my $cancel_on_holidays = C4::Context->preference('ExpireReservesOnHolidays'); > my $expireWaiting = C4::Context->preference('ExpireReservesMaxPickUpDelay'); >@@ -918,6 +919,7 @@ sub CancelExpiredReserves { > next if !$cancel_on_holidays && $calendar->is_holiday( $today ); > > my $cancel_params = {}; >+ $cancel_params->{cancellation_reason} = $cancellation_reason if defined($cancellation_reason); > if ( $hold->found eq 'W' ) { > $cancel_params->{charge_cancel_fee} = 1; > } >diff --git a/misc/cronjobs/holds/cancel_expired_holds.pl b/misc/cronjobs/holds/cancel_expired_holds.pl >index 463c6b2ba5..232bde708e 100755 >--- a/misc/cronjobs/holds/cancel_expired_holds.pl >+++ b/misc/cronjobs/holds/cancel_expired_holds.pl >@@ -1,6 +1,7 @@ > #!/usr/bin/perl > > # Copyright 2009-2010 Kyle Hall >+# Copyright 2020 PTFS Europe > # > # This file is part of Koha. > # >@@ -17,7 +18,29 @@ > # You should have received a copy of the GNU General Public License > # along with Koha; if not, see <http://www.gnu.org/licenses>. > >+=head1 NAME >+ >+cancel_expired_holds.pl - cron script to cancel holds as they expire >+ >+=head1 SYNOPSIS >+ >+ ./cancel_expired_holds.pl >+ ./cancel_expired_holds.pl --reason="EXPIRED" >+ >+or, in crontab: >+ >+ 0 1 * * * cancel_expired_holds.pl >+ 0 1 * * * cancel_expired_holds.pl --reason="EXPIRED" >+ >+=head1 DESCRIPTION >+ >+This script calls C4::Reserves::CancelExpiredReserves which will find and cancel all expired reseves in the system. >+ >+=cut >+ > use Modern::Perl; >+use Getopt::Long; >+use Pod::Usage; > > BEGIN { > # find Koha's Perl modules >@@ -26,12 +49,35 @@ BEGIN { > eval { require "$FindBin::Bin/../kohalib.pl" }; > } > >-# cancel all expired hold requests >- > use Koha::Script -cron; > use C4::Reserves; > use C4::Log; > >+=head1 OPTIONS >+ >+=over 8 >+ >+=item B<--help> >+ >+Print a brief help message and exits. >+ >+=item B<--reason> >+ >+Optionally adds a reason for cancellation (which will trigger a notice to be sent to the patron) >+ >+=back >+ >+=cut >+ >+my $help = 0; >+my $reason; >+ >+GetOptions( >+ 'help|?' => \$help, >+ 'reason=s' => \$reason >+) or pod2usage(1); >+pod2usage(1) if $help; >+ > cronlogaction(); > >-CancelExpiredReserves(); >+CancelExpiredReserves($reason); >-- >2.20.1
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 12656
:
112199
|
112200
|
112337
|
112350