CustomVariables-Helper registrieren von neu erstellen CVars
authorThomas Heck <theck@linet-services.de>
Mon, 3 Jun 2013 13:14:31 +0000 (15:14 +0200)
committerThomas Heck <theck@linet-services.de>
Tue, 16 Jul 2013 12:23:52 +0000 (14:23 +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;
   }