From c485622f5bcf8dc5d03a23dded6dd08d8f5f0236 Mon Sep 17 00:00:00 2001 From: Samuel Georges Date: Fri, 5 Dec 2014 18:38:04 +1100 Subject: [PATCH] FormController is now responsible for purging data from the set (NO_SAVE_DATA) --- modules/backend/behaviors/FormController.php | 3 ++- modules/backend/widgets/Form.php | 7 +------ 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/modules/backend/behaviors/FormController.php b/modules/backend/behaviors/FormController.php index b99e8b8d2..83923b910 100644 --- a/modules/backend/behaviors/FormController.php +++ b/modules/backend/behaviors/FormController.php @@ -7,6 +7,7 @@ use Event; use Input; use Redirect; use Backend; +use Backend\Classes\FormField; use Backend\Classes\ControllerBehavior; use October\Rain\Support\Util; use October\Rain\Router\Helper as RouterHelper; @@ -687,7 +688,7 @@ class FormController extends ControllerBehavior ) { $this->setModelAttributes($model->{$attribute}, $value); } - else { + elseif ($value !== FormField::NO_SAVE_DATA) { $model->{$attribute} = $value; } } diff --git a/modules/backend/widgets/Form.php b/modules/backend/widgets/Form.php index f216bb5d8..40dc6e853 100644 --- a/modules/backend/widgets/Form.php +++ b/modules/backend/widgets/Form.php @@ -807,12 +807,7 @@ class Form extends WidgetBase $dotted = implode('.', $parts); $widgetValue = $widget->getSaveData(array_get($data, $dotted)); - if ($widgetValue === FormField::NO_SAVE_DATA) { - array_forget($data, $dotted); - } - else { - array_set($data, $dotted, $widgetValue); - } + array_set($data, $dotted, $widgetValue); } /*