From 95af8633b9cb9b76d22a6321f2e0d10db587d25b Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Thu, 11 Feb 2021 11:21:43 +0100 Subject: [PATCH] Bug 27676: Correct finesMode ne off condition finesMode is 'off' by default (sysprefs.sql), but if you modify its value from the UI and set it to 'production' then back to 'off', the DB value becomes an empty string '', because of $YAML::Syck::ImplicitTyping This has been found when working on on removing YAML::Syck (bug 22824), so it's not perfect but the situation will be cleared in the follow-up bug report. Test plan: 0. Don't apply the patch 1. reset_all => finesMode eq 'off' in DB 2. Set the pref's value to production 3. Switch it back to 'off' 4. Value is '' in DB 5. Check an item in that should generate overdue charges => Charges are not generated 6. Apply the patch 7. Check an item in that should generate overdue charges => Charges are generated --- circ/returns.pl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/circ/returns.pl b/circ/returns.pl index 4e9662024c..d9359a0b66 100755 --- a/circ/returns.pl +++ b/circ/returns.pl @@ -87,7 +87,7 @@ my $userenv = C4::Context->userenv; my $userenv_branch = $userenv->{'branch'} // ''; my $forgivemanualholdsexpire = $query->param('forgivemanualholdsexpire'); -my $overduecharges = (C4::Context->preference('finesMode') && C4::Context->preference('finesMode') ne 'off'); +my $overduecharges = (C4::Context->preference('finesMode') && C4::Context->preference('finesMode') eq 'production'); # Set up the item stack .... my %returneditems; -- 2.20.1