From 67e20dab1a1466c83b15e93a6701531135fec143 Mon Sep 17 00:00:00 2001 From: Jesse Weaver Date: Wed, 4 Oct 2017 16:50:26 -0600 Subject: [PATCH] Bug 18887: (follow-up) Fix null/empty behavior --- C4/Reserves.pm | 2 +- admin/smart-rules.pl | 4 +++- installer/data/mysql/atomicupdate/bug_18887.perl | 4 ++-- koha-tmpl/intranet-tmpl/prog/en/modules/admin/smart-rules.tt | 2 +- 4 files changed, 7 insertions(+), 5 deletions(-) diff --git a/C4/Reserves.pm b/C4/Reserves.pm index 8226aac085..547952ed7a 100644 --- a/C4/Reserves.pm +++ b/C4/Reserves.pm @@ -416,7 +416,7 @@ sub CanItemBeReserved { rule_name => 'max_holds', } ); - if ( $rule ) { + if ( $rule && defined( $rule->rule_value ) && $rule->rule_value ne '' ) { my $total_holds_count = Koha::Holds->search( { borrowernumber => $borrower->{borrowernumber} diff --git a/admin/smart-rules.pl b/admin/smart-rules.pl index b2b924ad7f..79e9d38030 100755 --- a/admin/smart-rules.pl +++ b/admin/smart-rules.pl @@ -226,7 +226,7 @@ elsif ($op eq "set-branch-defaults") { $holdallowed =~ s/\s//g; $holdallowed = undef if $holdallowed !~ /^\d+/; $max_holds =~ s/\s//g; - $max_holds = undef if $max_holds !~ /^\d+/; + $max_holds = '' if $max_holds !~ /^\d+/; if ($branch eq "*") { my $sth_search = $dbh->prepare("SELECT count(*) AS total @@ -280,6 +280,8 @@ elsif ($op eq "add-branch-cat") { $maxissueqty = undef if $maxissueqty !~ /^\d+/; $maxonsiteissueqty =~ s/\s//g; $maxonsiteissueqty = undef if $maxonsiteissueqty !~ /^\d+/; + $max_holds =~ s/\s//g; + $max_holds = '' if $max_holds !~ /^\d+/; if ($branch eq "*") { if ($categorycode eq "*") { diff --git a/installer/data/mysql/atomicupdate/bug_18887.perl b/installer/data/mysql/atomicupdate/bug_18887.perl index 38610c9d44..07ee2d357f 100644 --- a/installer/data/mysql/atomicupdate/bug_18887.perl +++ b/installer/data/mysql/atomicupdate/bug_18887.perl @@ -20,12 +20,12 @@ if( CheckVersion( $DBversion ) ) { $dbh->do(q{ INSERT INTO circulation_rules ( branchcode, categorycode, itemtype, rule_name, rule_value ) - SELECT branchcode, categorycode, NULL, 'max_holds', max_holds FROM branch_borrower_circ_rules + SELECT branchcode, categorycode, NULL, 'max_holds', COALESCE( max_holds, '' ) FROM branch_borrower_circ_rules }); $dbh->do(q{ INSERT INTO circulation_rules ( branchcode, categorycode, itemtype, rule_name, rule_value ) - SELECT NULL, categorycode, NULL, 'max_holds', max_holds FROM branch_borrower_circ_rules + SELECT NULL, categorycode, NULL, 'max_holds', COALESCE( max_holds, '' ) FROM default_borrower_circ_rules }); $dbh->do(q{ diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/smart-rules.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/smart-rules.tt index 538b084133..a6211592d5 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/smart-rules.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/smart-rules.tt @@ -498,7 +498,7 @@ [% SET rule_value = CirculationRules.Get( branch_cat_rule_loo.branchcode, branch_cat_rule_loo.categorycode, branch_cat_rule_loo.itemtype, 'max_holds' ) %] - [% IF rule_value %] + [% IF rule_value.defined && rule_value != '' %] [% rule_value %] [% ELSE %] Unlimited -- 2.15.1