]> wagnertech.de Git - kivitendo-erp.git/blobdiff - SL/DB/Helper/CustomVariables.pm
CVars für Kunden
[kivitendo-erp.git] / SL / DB / Helper / CustomVariables.pm
index e8c7d6b0389c1caa5ed600d34a3b14a11194cd2a..2519c36905c09c1d8339eee29189834298de1e02 100644 (file)
@@ -22,7 +22,7 @@ sub import {
 
   $params{module} || $params{sub_module}  or croak 'need param module or sub_module';
 
-  save_meta_info($caller_package, %params);
+  return unless save_meta_info($caller_package, %params);
   make_cvar_accessor($caller_package, %params);
   make_cvar_alias($caller_package, %params)      if $params{cvars_alias};
   make_cvar_by_configs($caller_package, %params);
@@ -36,6 +36,8 @@ sub save_meta_info {
   return 0 if $meta->{META_CVARS()};
 
   $meta->{META_CVARS()} = \%params;
+
+  return 1;
 }
 
 sub make_cvar_accessor {
@@ -65,7 +67,7 @@ sub make_cvar_alias {
 }
 
 # this is used for templates where you need to list every applicable config
-# auto vivifies non existant cvar objects as necessary.
+# auto vivifies non existent cvar objects as necessary.
 sub make_cvar_by_configs {
   my ($caller_package, %params) = @_;
 
@@ -120,6 +122,7 @@ sub _all_configs {
 sub _overload_by_module {
   my ($module, %params) = @_;
 
+  keys %{ $params{overloads} }; # reset each iterator
   while (my ($fk, $class) = each %{ $params{overloads} }) {
     return ($fk, $class) if $class->meta->{META_CVARS()}->{module} eq $module;
   }