mirror of
https://github.com/silverstripe/silverstripe-framework
synced 2024-10-22 12:05:37 +00:00
Merge pull request #1204 from dhensby/unsavedrelationlist-improvements
BUG UnsavedRelationList aren't checked
This commit is contained in:
commit
2a73b370d0
@ -181,7 +181,7 @@ class CheckboxSetField extends OptionsetField {
|
||||
public function saveInto(DataObjectInterface $record) {
|
||||
$fieldname = $this->name;
|
||||
$relation = ($fieldname && $record && $record->hasMethod($fieldname)) ? $record->$fieldname() : null;
|
||||
if($fieldname && $record && $relation && $relation instanceof RelationList) {
|
||||
if($fieldname && $record && $relation && ($relation instanceof RelationList || $relation instanceof UnsavedRelationList)) {
|
||||
$idList = array();
|
||||
if($this->value) foreach($this->value as $id => $bool) {
|
||||
if($bool) {
|
||||
|
@ -179,7 +179,7 @@ class ListboxField extends DropdownField {
|
||||
if($this->multiple) {
|
||||
$fieldname = $this->name;
|
||||
$relation = ($fieldname && $record && $record->hasMethod($fieldname)) ? $record->$fieldname() : null;
|
||||
if($fieldname && $record && $relation && $relation instanceof RelationList) {
|
||||
if($fieldname && $record && $relation && ($relation instanceof RelationList || $relation instanceof UnsavedRelationList)) {
|
||||
$idList = (is_array($this->value)) ? array_values($this->value) : array();
|
||||
if(!$record->ID) {
|
||||
$record->write(); // record needs to have an ID in order to set relationships
|
||||
|
Loading…
x
Reference in New Issue
Block a user