From 8a8e1056957deb683f128bc4b65ab36538d167ea Mon Sep 17 00:00:00 2001 From: Fridolin Somers Date: Thu, 13 Jan 2022 15:33:09 -1000 Subject: [PATCH] Bug 20076: (RM follow-up) Fix system preference boolean logic A Yes/No system preference must use 1 for Yes and 0 for No. So "Send" for 1/Yes and "Don't send" for 0/No. We add too much problems with double-negation boolean system preferences (such as dontmerge). Previous patch changed default value to 1 in atomicupdate, do the same in installer/data/mysql/mandatory/sysprefs.sql Also to be consistant, sets options = NULL instead of '' in atomicupdate Also removed useless added empty line in /misc/cronjobs/overdue_notices.pl Signed-off-by: Fridolin Somers --- ...0076-add_system_preference_EmailOverduesNoEmail.pl} | 10 +++++----- installer/data/mysql/mandatory/sysprefs.sql | 2 +- .../prog/en/modules/admin/preferences/admin.pref | 4 ++-- misc/cronjobs/overdue_notices.pl | 4 +--- 4 files changed, 9 insertions(+), 11 deletions(-) rename installer/data/mysql/atomicupdate/{add-system-preference-EmailOverduesNoEmail.perl => bug_20076-add_system_preference_EmailOverduesNoEmail.pl} (68%) mode change 100644 => 100755 diff --git a/installer/data/mysql/atomicupdate/add-system-preference-EmailOverduesNoEmail.perl b/installer/data/mysql/atomicupdate/bug_20076-add_system_preference_EmailOverduesNoEmail.pl old mode 100644 new mode 100755 similarity index 68% rename from installer/data/mysql/atomicupdate/add-system-preference-EmailOverduesNoEmail.perl rename to installer/data/mysql/atomicupdate/bug_20076-add_system_preference_EmailOverduesNoEmail.pl index 9b40729490..aece65a7bf --- a/installer/data/mysql/atomicupdate/add-system-preference-EmailOverduesNoEmail.perl +++ b/installer/data/mysql/atomicupdate/bug_20076-add_system_preference_EmailOverduesNoEmail.pl @@ -1,15 +1,15 @@ use Modern::Perl; - -{ + +return { bug_number => "20076", description => "Add system preference EmailOverduesNoEmail", up => sub { my ($args) = @_; my ($dbh, $out) = @$args{qw(dbh out)}; - + $dbh->do(q{ INSERT IGNORE INTO systempreferences (`variable`,`value`,`options`,`explanation`,`type`) - VALUES ('EmailOverduesNoEmail','1','','Send send overdues of patrons without email address to staff', 'YesNo') - }); + VALUES ('EmailOverduesNoEmail','1',NULL,'Send send overdues of patrons without email address to staff', 'YesNo') + }); }, } diff --git a/installer/data/mysql/mandatory/sysprefs.sql b/installer/data/mysql/mandatory/sysprefs.sql index f23dbc975d..9cdd4f64ee 100644 --- a/installer/data/mysql/mandatory/sysprefs.sql +++ b/installer/data/mysql/mandatory/sysprefs.sql @@ -193,7 +193,7 @@ INSERT INTO systempreferences ( `variable`, `value`, `options`, `explanation`, ` ('ElasticsearchCrossFields', '1', '', 'Enable "cross_fields" option for searches using Elastic search.', 'YesNo'), ('EmailAddressForSuggestions','','',' If you choose EmailAddressForSuggestions you have to enter a valid email address: ','free'), ('emailLibrarianWhenHoldIsPlaced','0',NULL,'If ON, emails the librarian whenever a hold is placed','YesNo'), -('EmailOverduesNoEmail','0',NULL,'Send send overdues of patrons without email address to staff','YesNo'), +('EmailOverduesNoEmail','1',NULL,'Send send overdues of patrons without email address to staff','YesNo'), ('EmailPurchaseSuggestions','0','0|EmailAddressForSuggestions|BranchEmailAddress|KohaAdminEmailAddress','Choose email address that new purchase suggestions will be sent to: ','Choice'), ('EnableAdvancedCatalogingEditor','0','','Enable the Rancor advanced cataloging editor','YesNo'), ('EnableBorrowerFiles','0',NULL,'If enabled, allows librarians to upload and attach arbitrary files to a borrower record.','YesNo'), diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/admin.pref b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/admin.pref index da2cf7bb9a..2eab55ae03 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/admin.pref +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/admin.pref @@ -80,8 +80,8 @@ Administration: - - pref: EmailOverduesNoEmail choices: - 1: "Don't send" - 0: "Send" + 1: "Send" + 0: "Don't send" - "overdue notices for patrons without email address to staff." Login options: diff --git a/misc/cronjobs/overdue_notices.pl b/misc/cronjobs/overdue_notices.pl index c142bb72aa..c344b75f89 100755 --- a/misc/cronjobs/overdue_notices.pl +++ b/misc/cronjobs/overdue_notices.pl @@ -368,7 +368,6 @@ if (@branchcodes) { my $branch_word = scalar @branches > 1 ? 'branches' : 'branch'; $verbose and warn "$branch_word @branches have overdue rules\n"; - } else { $verbose and warn "No active overduerules for $branchcodes_word '@branchcodes'\n"; @@ -842,8 +841,7 @@ END_SQL } $content .= join( "\n", @output_chunks ); - my $EmailOverduesNoEmail = C4::Context->preference('EmailOverduesNoEmail'); - if ( $EmailOverduesNoEmail == 0) { + if ( C4::Context->preference('EmailOverduesNoEmail') ) { my $attachment = { filename => defined $csvfilename ? 'attachment.csv' : 'attachment.txt', type => 'text/plain', -- 2.39.5