X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/kivitendo-erp.git/blobdiff_plain/4b7433f44317fcd0f33f157f0effe752a0c5ac6f..d73a8843d998152d2384a6bb5fd966badcb1e505:/SL/CVar.pm diff --git a/SL/CVar.pm b/SL/CVar.pm index 19f1e5f3d..8c4f6a899 100644 --- a/SL/CVar.pm +++ b/SL/CVar.pm @@ -224,7 +224,7 @@ sub get_custom_variables { $cvar->{OPTIONS} = [ map { { 'value' => $_ } } split(m/\#\#/, $cvar->{options}) ]; } - my $act_var; + my ($act_var, $valid); if ($params{trans_id}) { my @values = (conv_i($cvar->{id}), conv_i($params{trans_id})); push @values, $params{sub_module} if $params{sub_module}; @@ -232,7 +232,7 @@ sub get_custom_variables { do_statement($form, $h_var, $q_var, @values); $act_var = $h_var->fetchrow_hashref(); - $act_var->{valid} = $self->get_custom_variables_validity(config_id => $cvar->{id}, trans_id => $params{trans_id}); + $valid = $self->get_custom_variables_validity(config_id => $cvar->{id}, trans_id => $params{trans_id}); } if ($act_var) { @@ -241,7 +241,7 @@ sub get_custom_variables { : $cvar->{type} eq 'number' ? $act_var->{number_value} : $cvar->{type} eq 'bool' ? $act_var->{bool_value} : $act_var->{text_value}; - $cvar->{valid} = $act_var->{valid}; + $cvar->{valid} = $valid; } else { $cvar->{valid} = 1; @@ -337,11 +337,10 @@ sub save_custom_variables { do_statement($form, $sth, $query, @values); - unless ($params{always_valid}) { - $self->save_custom_variables_validity(trans_id => $params{trans_id}, config_id => $config->{id}, - validity => ($params{variables}->{"$params{name_prefix}cvar_$config->{name}$params{name_postfix}_valid"} ? 1 : 0) - ); - }; + my $valid_index = "$params{name_prefix}cvar_$config->{name}$params{name_postfix}_valid"; + $self->save_custom_variables_validity(trans_id => $params{trans_id}, config_id => $config->{id}, + validity => ($params{variables}{$valid_index} || $params{always_valid} ? 1 : 0) + ); } $sth->finish();