Fehlender Locales Lauf
[kivitendo-erp.git] / SL / CVar.pm
index 703bbfe..0099b7c 100644 (file)
@@ -1,5 +1,7 @@
 package CVar;
 
+use strict;
+
 use List::Util qw(first);
 use Data::Dumper;
 
@@ -242,6 +244,8 @@ sub get_custom_variables {
                      :                                $act_var->{text_value};
       $cvar->{valid} = $act_var->{valid};
     } else {
+      $cvar->{valid}  =  1;
+
       if ($cvar->{type} eq 'date') {
         if ($cvar->{default_value} eq 'NOW') {
           $cvar->{value} = $cvar->{current_date};
@@ -334,9 +338,11 @@ sub save_custom_variables {
 
     do_statement($form, $sth, $query, @values);
 
-    $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)
-    );
+    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)
+      );
+    };
   }
 
   $sth->finish();
@@ -347,7 +353,7 @@ sub save_custom_variables {
 }
 
 sub render_inputs {
-  $main::lxdebug->enter_sub();
+  $main::lxdebug->enter_sub(2);
 
   my $self     = shift;
   my %params   = @_;
@@ -360,14 +366,15 @@ sub render_inputs {
   my %options  = ( name_prefix       => "$params{name_prefix}",
                    name_postfix      => "$params{name_postfix}",
                    hide_non_editable => $params{hide_non_editable},
+                   show_disabled_message => $params{show_disabled_message},
                  );
 
   foreach my $var (@{ $params{variables} }) {
-    $var->{HTML_CODE} = $form->parse_html_template('amcvar/render_inputs', { 'var' => $var, %options });
-    $var->{VALID_BOX} = "<input type=checkbox name='$options{name_prefix}cvar_$var->{name}$options{name_postfix}_valid'@{[$var->{valid} ? ' checked' : '']}>";
+    $var->{HTML_CODE} = $form->parse_html_template('amcvar/render_inputs',     { var => $var, %options });
+    $var->{VALID_BOX} = $form->parse_html_template('amcvar/render_checkboxes', { var => $var, %options });
   }
 
-  $main::lxdebug->leave_sub();
+  $main::lxdebug->leave_sub(2);
 }
 
 sub render_search_options {
@@ -381,6 +388,8 @@ sub render_search_options {
   my $myconfig = \%main::myconfig;
   my $form     = $main::form;
 
+  $params{hidden_cvar_filters} = $myconfig->{hide_cvar_search_options};
+
   $params{include_prefix}   = 'l_' unless defined($params{include_prefix});
   $params{include_value}  ||= '1';
 
@@ -527,7 +536,8 @@ sub add_custom_variables_to_report {
 
   # allow sub_module to be a coderef or a fixed value
   if (ref $params{sub_module} ne 'CODE') {
-    $params{sub_module} = sub { "$params{sub_module}" };
+    my $sub_module = "$params{sub_module}";
+    $params{sub_module} = sub { $sub_module };
   }
 
   my %cfg_map   = map { $_->{id} => $_ } @{ $configs };
@@ -651,7 +661,7 @@ sub save_custom_variables_validity {
 }
 
 sub get_custom_variables_validity {
-  $main::lxdebug->enter_sub();
+  $main::lxdebug->enter_sub(2);
 
   my $self     = shift;
   my %params   = @_;
@@ -667,7 +677,7 @@ sub get_custom_variables_validity {
 
   my ($invalid) = selectfirst_array_query($form, $dbh, $query, conv_i($params{config_id}), conv_i($params{trans_id}));
 
-  $main::lxdebug->leave_sub();
+  $main::lxdebug->leave_sub(2);
 
   return !$invalid;
 }