Bug 18887: (follow-up) Fix null/empty behavior
authorKyle M Hall <kyle@bywatersolutions.com>
Wed, 18 Jul 2018 17:35:46 +0000 (17:35 +0000)
committerNick Clemens <nick@bywatersolutions.com>
Wed, 3 Oct 2018 17:58:13 +0000 (17:58 +0000)
Signed-off-by: Lisette Scheer <lisetteslatah@gmail.com>

Signed-off-by: Jesse Maseto <jesse@bywatersolution.com>

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>

C4/Reserves.pm
admin/smart-rules.pl
installer/data/mysql/atomicupdate/bug_18887.perl
koha-tmpl/intranet-tmpl/prog/en/modules/admin/smart-rules.tt

index bc5963f..6cfe777 100644 (file)
@@ -429,7 +429,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}
index 4ff96fc..aa26cbe 100755 (executable)
@@ -232,7 +232,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
index 38610c9..07ee2d3 100644 (file)
@@ -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{
index 509f0db..93b34f2 100644 (file)
                         </td>
                         <td>
                             [% 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