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); }