From c04208d5dd159e64b71f7e07a6bc7dbdc1205eba Mon Sep 17 00:00:00 2001 From: Matias Griese Date: Tue, 8 Jan 2019 13:52:13 +0200 Subject: [PATCH] FlexForm: Fixed missing inputs after save, reset form after save --- system/src/Grav/Framework/Flex/FlexForm.php | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/system/src/Grav/Framework/Flex/FlexForm.php b/system/src/Grav/Framework/Flex/FlexForm.php index ceda6431f..a070811c4 100644 --- a/system/src/Grav/Framework/Flex/FlexForm.php +++ b/system/src/Grav/Framework/Flex/FlexForm.php @@ -184,11 +184,11 @@ class FlexForm implements FlexFormInterface */ public function getValue(string $name) { - if (null === $this->data) { - return $this->getObject()->getNestedProperty($name); - } + // Attempt to get value from the form data. + $value = $this->data ? $this->data->get($name) : null; - return $this->data->get($name); + // Return the form data or fall back to the object property. + return $value ?? $this->getObject()->getNestedProperty($name); } /** @@ -221,8 +221,6 @@ class FlexForm implements FlexFormInterface $data = $blueprint->processForm($this->decodeData($body['data'] ?? []), $body['toggleable_data'] ?? []); $this->submit($data, $files); - - $flash->delete(); } catch (\Exception $e) { $this->errors[] = $e->getMessage(); } @@ -548,6 +546,7 @@ class FlexForm implements FlexFormInterface $object->save(); $this->setObject($object); + $this->reset(); } protected function checkUploads(array $files): void