From: Sven Schöling <s.schoeling@linet-services.de>
Date: Tue, 9 Oct 2018 15:58:30 +0000 (+0200)
Subject: Form::flatten_variables: Array Serialisierung gefixt
X-Git-Tag: release-3.5.4~232
X-Git-Url: http://wagnertech.de/git?a=commitdiff_plain;h=9096031d4534a25bbd0573c23af1ce24f5ca5ba4;p=kivitendo-erp.git

Form::flatten_variables: Array Serialisierung gefixt

Durch einen 11 Jahren alten Bug wurden Top-Level Arrays nicht
serialisiert sondern jeweils nur das letzte Element zurückgegeben.

Die gefixte Version schafft alle relevanten Tests der t/helper/flatten
suite bis auf nested arrays, die sind von dieser Variante nicht
unterstützt.

(cherry picked from commit e7f489be84347d8e8571c2459e4afda8fb3d978a)
---

diff --git a/SL/Form.pm b/SL/Form.pm
index 0ecb2219d..da4684358 100644
--- a/SL/Form.pm
+++ b/SL/Form.pm
@@ -150,7 +150,7 @@ sub _flatten_variables_rec {
           $first_array_entry = 0;
         }
       } else {
-        @result = ({ 'key' => $prefix . $key . ($first_array_entry ? '[+]' : '[]'), 'value' => $element });
+        push @result, { 'key' => $prefix . $key . '[]', 'value' => $element };
       }
     }
   }