neuen Artikel aus Angebots-/Auftrags-Maske anlegen: Variable besser benannt
[kivitendo-erp.git] / SL / DB / Helper / CustomVariables.pm
index e8adfe8..a6ab5ae 100644 (file)
@@ -4,7 +4,7 @@ use strict;
 use Carp;
 use Data::Dumper;
 use List::Util qw(first);
-use List::UtilsBy qw(sort_by partition_by);
+use List::UtilsBy qw(partition_by);
 
 use constant META_CVARS => 'cvars_config';
 
@@ -104,8 +104,6 @@ sub make_cvar_by_configs {
       @$configs
     );
 
-    @return = sort_by { $_->config->sortkey } @return;
-
     return \@return;
   }
 }
@@ -182,7 +180,7 @@ sub _all_configs {
   }
 
   return $params{module} && !ref $params{module} ? $cache->{module}{$params{module}}
-       : $params{module} &&  ref $params{module} ? [ map { @{ $cache->{module}{$_} } } @{ $params{module} } ]
+       : $params{module} &&  ref $params{module} ? [ map { @{ $cache->{module}{$_} // [] } } @{ $params{module} } ]
        : $cache->{all};
 }
 
@@ -380,7 +378,8 @@ sub _all_invalids {
   # easy 2: no module in params? no validity
   return [] unless $params{module};
 
-  my @module_configs = grep { $_->module eq $params{module} } @$configs;
+  my %wanted_modules = ref $params{module} ? map { $_ => 1 } @{ $params{module} } : ($params{module} => 1);
+  my @module_configs = grep { $wanted_modules{$_->module} } @$configs;
 
   return [] unless @module_configs;