From 6727eb3a1d3a06e7669df579bca4ce9dd84b0082 Mon Sep 17 00:00:00 2001 From: Andrew Short Date: Wed, 26 Feb 2014 14:02:07 +1100 Subject: [PATCH] Ensure extra field values are correctly casted. Closes #11. --- code/GridFieldAddNewInlineButton.php | 8 ++++---- code/GridFieldEditableColumns.php | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/code/GridFieldAddNewInlineButton.php b/code/GridFieldAddNewInlineButton.php index f168f17..fd3578c 100755 --- a/code/GridFieldAddNewInlineButton.php +++ b/code/GridFieldAddNewInlineButton.php @@ -140,13 +140,13 @@ class GridFieldAddNewInlineButton implements GridField_HTMLProvider, GridField_S $item = $class::create(); $extra = array(); - if($list instanceof ManyManyList) { - $extra = array_intersect_key($fields, (array) $list->getExtraFields()); - } - $form->loadDataFrom($fields, Form::MERGE_CLEAR_MISSING); $form->saveInto($item); + if($list instanceof ManyManyList) { + $extra = array_intersect_key($form->getData(), (array) $list->getExtraFields()); + } + $item->write(); $list->add($item, $extra); } diff --git a/code/GridFieldEditableColumns.php b/code/GridFieldEditableColumns.php index 52286c5..612508b 100644 --- a/code/GridFieldEditableColumns.php +++ b/code/GridFieldEditableColumns.php @@ -76,13 +76,13 @@ class GridFieldEditableColumns extends GridFieldDataColumns implements $extra = array(); - if($list instanceof ManyManyList) { - $extra = array_intersect_key($fields, (array) $list->getExtraFields()); - } - $form->loadDataFrom($fields, Form::MERGE_CLEAR_MISSING); $form->saveInto($item); + if($list instanceof ManyManyList) { + $extra = array_intersect_key($form->getData(), (array) $list->getExtraFields()); + } + $item->write(); $list->add($item, $extra); }