Permalink
Browse files

BUG UnsavedRelationList aren't checked

When saveInto is called on ListboxField and CheckboxsetField,
UnsavedRelationList should be an acceptable relationship type. This is
leading to relations not being saved on initial creation of Member
objects
  • Loading branch information...
1 parent 920fd71 commit 4e360201183f03c5c31e5b3160b0bba63a48c501 @dhensby dhensby committed Feb 19, 2013
Showing with 2 additions and 2 deletions.
  1. +1 −1 forms/CheckboxSetField.php
  2. +1 −1 forms/ListboxField.php
@@ -181,7 +181,7 @@ public function setValue($value, $obj = null) {
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) {
View
@@ -179,7 +179,7 @@ public function saveInto(DataObjectInterface $record) {
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

0 comments on commit 4e36020

Please sign in to comment.