CustomVariables-Helper registrieren von neu erstellen CVars
authorThomas Heck <theck@linet-services.de>
Mon, 3 Jun 2013 13:14:31 +0000 (15:14 +0200)
committerJan Büren <jan@kivitendo-premium.de>
Thu, 18 Jul 2013 07:09:01 +0000 (09:09 +0200)
SL::DB::Helper::CustomVariables::cvars_by_config fügt neue CVars
dem ursprünglichen Objekt hinzu.

SL/DB/Helper/CustomVariables.pm

index df90aa7..3c43624 100644 (file)
@@ -78,7 +78,19 @@ sub make_cvar_by_configs {
     my $cvars       = $self->custom_variables;
     my %cvars_by_config = map { $_->config_id => $_ } @$cvars;
 
-    my @return  = map { $cvars_by_config{$_->id} || _new_cvar($self, %params, config => $_) } @$configs;
+    my @return = map(
+      {
+        if ( $cvars_by_config{$_->id} ) {
+          $cvars_by_config{$_->id};
+        }
+        else {
+          my $cvar = _new_cvar($self, %params, config => $_);
+          $self->add_custom_variables($cvar);
+          $cvar;
+        }
+      }
+      @$configs
+    );
 
     return \@return;
   }