@@ -, +, @@
- perlcritic friendlier
- address $PERL5LIB comment by using $PROGRAM_NAME (comment #10)
- used STDERR (comment #10)
- perltidy
---------
-- should run upgrade and generate new systempreference in table
-- should give help with a real path used instead of $PERL5LIB.
-- should give error message as expected
-- should give error message as expected
-- message should be as expected (see comment #9)
-- all should pass
---
...dPurgeSuggestionsOlderThan_SystemPreference.sql | 2 ++
.../en/modules/admin/preferences/acquisitions.pref | 8 +++++
.../prog/en/modules/admin/preferences/opac.pref | 8 -----
misc/cronjobs/purge_suggestions.pl | 37 +++++++++++-----------
4 files changed, 28 insertions(+), 27 deletions(-)
create mode 100644 installer/data/mysql/atomicupdate/bug_13287_AddPurgeSuggestionsOlderThan_SystemPreference.sql
--- a/installer/data/mysql/atomicupdate/bug_13287_AddPurgeSuggestionsOlderThan_SystemPreference.sql
+++ a/installer/data/mysql/atomicupdate/bug_13287_AddPurgeSuggestionsOlderThan_SystemPreference.sql
@@ -0,0 +1,2 @@
+INSERT IGNORE INTO systempreferences ( `variable`, `value`, `options`, `explanation`, `type` ) VALUES
+('PurgeSuggestionsOlderThan', '', NULL, 'If this script is called without the days parameter', 'Integer');
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/acquisitions.pref
+++ a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/acquisitions.pref
@@ -76,6 +76,14 @@ Acquisitions:
yes: Send
no: Don't send
- blind copy (BCC) to logged in user when sending serial or acquisitions claims notices.
+ -
+ - Keep accepted or rejected purchase suggestions for a period of
+ - pref: PurgeSuggestionsOlderThan
+ class: integer
+ - days.
+ -
WARNING - Leave this field empty if you don't want to activate this automatic feature.
+ - "
Example: [30] Sets purgation of suggestions for those older than 30 days."
+ -
(Used when the cronjob purge_suggestions.pl is active and called without a specific number of days)
Printing:
-
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/opac.pref
+++ a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/opac.pref
@@ -614,14 +614,6 @@ OPAC:
- pref: MaxOpenSuggestions
class: integer
- "open suggestions. Leave empty for no limit. **Note: this setting does not affect anonymous suggestions"
- -
- - Keep accepted or rejected purchase suggestions for a period of [ ] days.
- - pref: PurgeSuggestionsOlderThan
- class: integer
- - days.
- -
WARNING - Leave this field empty if you don't want to activate this automatic feature.
- - "
Example: [30] Sets purgation of suggestions for those older than 30 days."
- -
(Used when the cronjob purge_suggestions.pl is active and called without a specific number of days)
Privacy:
-
- pref: StoreLastBorrower
--- a/misc/cronjobs/purge_suggestions.pl
+++ a/misc/cronjobs/purge_suggestions.pl
@@ -17,8 +17,7 @@
# You should have received a copy of the GNU General Public License
# along with Koha; if not, see .
-use strict;
-use warnings;
+use Modern::Perl;
use utf8;
BEGIN {
@@ -35,11 +34,11 @@ use C4::Suggestions;
use C4::Log;
use C4::Context;
-my ($help, $days);
+my ( $help, $days );
GetOptions(
- 'help|?' => \$help,
- 'days=s' => \$days,
+ 'help|?' => \$help,
+ 'days=s' => \$days,
);
my $usage = << 'ENDUSAGE';
@@ -49,34 +48,34 @@ Parameters:
-days TTT to define the age of suggestions to delete
Example:
-$PERL5LIB/misc/cronjobs/purge_suggestions.pl -days 30
ENDUSAGE
+$usage .= $0 . " -days 30\n";
# If this script is called without the 'days' parameter, we use the system preferences value instead.
-if ( ! defined($days) and not $help) {
- my $purge_sugg_days = C4::Context->preference('PurgeSuggestionsOlderThan') || '';
- if($purge_sugg_days ne '' and $purge_sugg_days >= 0) {
+if ( !defined($days) && !$help ) {
+ my $purge_sugg_days =
+ C4::Context->preference('PurgeSuggestionsOlderThan') || q{};
+ if ( $purge_sugg_days ne q{} and $purge_sugg_days >= 0 ) {
$days = $purge_sugg_days;
}
}
+
# If this script is called with the 'help' parameter, we show up the help message and we leave the script without doing anything.
if ($help) {
print $usage;
exit;
}
-if(defined($days) && $days > 0 && $days ne ''){
+if ( defined($days) && $days ne q{} && $days > 0 ) {
cronlogaction();
DelSuggestionsOlderThan($days);
}
-
-elsif(defined($days) && $days == 0) {
- print << 'ERROR';
- This script is not executed with 0 days. Aborted.
-ERROR
+elsif (!defined($days)){
+ print $usage;
+}
+elsif ( $days == 0 ) {
+ warn "This script is not executed with 0 days. Aborted.\n";
}
else {
- print << 'ERROR';
- This script requires a positive number of days. Aborted.
-ERROR
-}
+ warn "This script requires a positive number of days. Aborted.\n";
+}
--