diff --git a/Koha/CirculationRules.pm b/Koha/CirculationRules.pm index 87062f541a..5b63998a8b 100644 --- a/Koha/CirculationRules.pm +++ b/Koha/CirculationRules.pm @@ -62,12 +62,15 @@ our $RULE_KINDS = { holdallowed => { scope => [ 'branchcode', 'itemtype' ], + can_be_blank => 0, }, hold_fulfillment_policy => { scope => [ 'branchcode', 'itemtype' ], + can_be_blank => 0, }, returnbranch => { scope => [ 'branchcode', 'itemtype' ], + can_be_blank => 0, }, article_requests => { @@ -278,6 +281,8 @@ sub set_rule { my $itemtype = $params->{itemtype}; my $rule_name = $params->{rule_name}; my $rule_value = $params->{rule_value}; + my $can_be_blank = defined $kind_info->{can_be_blank} ? $kind_info->{can_be_blank} : 1; + $rule_value = undef if $rule_value eq "" && !$can_be_blank; for my $v ( $branchcode, $categorycode, $itemtype ) { $v = undef if $v and $v eq '*'; diff --git a/admin/smart-rules.pl b/admin/smart-rules.pl index 4a4727e5c2..a2e9b41cd8 100755 --- a/admin/smart-rules.pl +++ b/admin/smart-rules.pl @@ -341,8 +341,6 @@ elsif ($op eq "set-branch-defaults") { my $hold_fulfillment_policy = $input->param('hold_fulfillment_policy'); my $returnbranch = $input->param('returnbranch'); my $max_holds = strip_non_numeric( scalar $input->param('max_holds') ); - $holdallowed =~ s/\s//g; - $holdallowed = undef if $holdallowed !~ /^\d+/; if ($branch eq "*") { Koha::CirculationRules->set_rules(