Locales für -r4165
[kivitendo-erp.git] / SL / RecordLinks.pm
index fb451a8..d421714 100644 (file)
@@ -9,7 +9,7 @@ sub create_links {
   my $self     = shift;
   my %params   = @_;
 
-  if ($params{mode} && ($params{mode} eq 'string')) {
+  if ($params{mode} && ($params{mode} eq 'ids')) {
     Common::check_params_x(\%params, [ qw(from_ids to_ids) ]);
 
   } else {
@@ -19,12 +19,17 @@ sub create_links {
 
   my @links;
 
-  if ($params{mode} && ($params{mode} eq 'string')) {
+  if ($params{mode} && ($params{mode} eq 'ids')) {
     my ($from_to, $to_from) = $params{from_ids} ? qw(from to) : qw(to from);
-    my %ids                 = ( $from_to => [ grep { $_ } map { $_ * 1 } split m/\s+/, $params{"${from_to}_ids"} ] );
+    my %ids;
+
+    if ('ARRAY' eq ref $params{"${from_to}_ids"}) {
+      $ids{$from_to} = $params{"${from_to}_ids"};
+    } else {
+      $ids{$from_to} = [ grep { $_ } map { $_ * 1 } split m/\s+/, $params{"${from_to}_ids"} ];
+    }
 
     if (my $num = scalar @{ $ids{$from_to} }) {
-      $main::lxdebug->message(0, "3");
       $ids{$to_from} = [ ($params{"${to_from}_id"}) x $num ];
       @links         = map { { 'from_table' => $params{from_table},
                                'from_id'    => $ids{from}->[$_],