Add an element sets the relation with the parent automatically but this functionnality needs to be unset for the HasManyComplexTablefield (merged from branches 2.2.0, r45135)

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@46094 467b73ca-7a2a-4603-9d3b-597d59a354a9
This commit is contained in:
Andrew O'Neil 2007-12-02 21:27:34 +00:00
parent 5f468b4902
commit dd85ba1141

View File

@ -77,6 +77,8 @@ class ComplexTableField extends TableListField {
*/
protected $detailFormValidator = null;
protected $relationAutoSetting = true;
/**
* See class comments
*
@ -102,6 +104,7 @@ class ComplexTableField extends TableListField {
Requirements::css("sapphire/css/ComplexTableField.css");
parent::__construct($name, $sourceClass, $fieldList, $sourceFilter, $sourceSort, $sourceJoin);
}
function isComposite() {
@ -258,7 +261,8 @@ JS;
}
// add relational fields
$detailFields->push(new HiddenField("ctf[parentClass]"," ",$this->getParentClass()));
$detailFields->push(new HiddenField("$parentIdName"," ",$ID));
if( $this->relationAutoSetting )
$detailFields->push(new HiddenField("$parentIdName"," ",$ID));
}
// the ID field confuses the Controller-logic in finding the right view for ReferencedField
@ -563,7 +567,7 @@ JS;
* Returns the db-fieldname of the currently used has_one-relationship.
*/
function getParentIdName( $parentClass, $childClass ) {
return $this->getParentIdNameRelation( $parentClass, $childClass, 'has_one' );
return $this->getParentIdNameRelation( $childClass, $parentClass, 'has_one' );
}
/**