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) {
|
public function saveInto(DataObjectInterface $record) {
|
||||||
$fieldname = $this->name;
|
$fieldname = $this->name;
|
||||||
$relation = ($fieldname && $record && $record->hasMethod($fieldname)) ? $record->$fieldname() : null;
|
$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();
|
$idList = array();
|
||||||
if($this->value) foreach($this->value as $id => $bool) {
|
if($this->value) foreach($this->value as $id => $bool) {
|
||||||
if($bool) {
|
if($bool) {
|
||||||
|
@ -179,7 +179,7 @@ class ListboxField extends DropdownField {
|
|||||||
if($this->multiple) {
|
if($this->multiple) {
|
||||||
$fieldname = $this->name;
|
$fieldname = $this->name;
|
||||||
$relation = ($fieldname && $record && $record->hasMethod($fieldname)) ? $record->$fieldname() : null;
|
$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();
|
$idList = (is_array($this->value)) ? array_values($this->value) : array();
|
||||||
if(!$record->ID) {
|
if(!$record->ID) {
|
||||||
$record->write(); // record needs to have an ID in order to set relationships
|
$record->write(); // record needs to have an ID in order to set relationships
|
||||||
|
Loading…
x
Reference in New Issue
Block a user