Commit da5b6620 authored by Bertrand Gauthier's avatar Bertrand Gauthier
Browse files

MultipageForm : ajout aux données en session du fieldset dont les données...

MultipageForm : ajout aux données en session du fieldset dont les données viennent d'être postées (clé '_fieldset').
parent db711418
Loading
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
CHANGELOG
=========

6.0.9
-----

- MultipageForm : ajout aux données en session du fieldset dont les données viennent d'être postées (clé '_fieldset').

6.0.8
-----

+11 −1
Original line number Diff line number Diff line
@@ -39,6 +39,8 @@ class MultipageFormPlugin extends AbstractPlugin
    const CANCEL   = MultipageFormNavFieldset::NAME_CANCEL;
    const CONFIRM  = MultipageFormNavFieldset::NAME_CONFIRM;

    const FIELDSET  = '_fieldset';

    /**
     * Navigation element names
     *
@@ -255,6 +257,9 @@ class MultipageFormPlugin extends AbstractPlugin

        $form = $this->form;
        $data = $this->getFormSessionData();
        if (array_key_exists(self::FIELDSET, $data)) {
            unset($data[self::FIELDSET]);
        }
        $form->populateValues($data);

        $currentFieldset = $this->getCurrentFieldset();
@@ -577,6 +582,7 @@ class MultipageFormPlugin extends AbstractPlugin
        
        $validForms[$fieldsetName] = (bool) $valid;
        $sessionFormValues[$fieldsetName] = /*array_key_exists($fieldsetName, $formValues) ? $formValues[$fieldsetName] :*/ $formValues;
        $sessionFormValues[self::FIELDSET] = $fieldsetName;

        // Write the validation state and form values to the session
        $this->sessionContainer->valid = $validForms;
@@ -687,6 +693,7 @@ class MultipageFormPlugin extends AbstractPlugin

    /**
     * Get all data from the fieldsets from the session.
     * Including the fieldset's name where we come from.
     *
     * @return array
     */
@@ -698,6 +705,9 @@ class MultipageFormPlugin extends AbstractPlugin
            $formData[$fieldsetName] = $this->getSessionValues($fieldsetName);
        }

        // Name of the fieldset where we come from.
        $formData[self::FIELDSET] = $this->sessionContainer->value[self::FIELDSET] ?? null;

        return $formData;
    }