Updated AssetTableField to work with ComplexTableField updates

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/cms/trunk@60913 467b73ca-7a2a-4603-9d3b-597d59a354a9
This commit is contained in:
Sam Minnee 2008-08-18 00:52:15 +00:00
parent cdb19344bf
commit 27fd6937a5

View File

@ -17,8 +17,8 @@ class AssetTableField extends ComplexTableField {
//"export", //"export",
); );
function __construct($controller, $name, $sourceClass, $fieldList, $detailFormFields, $sourceFilter = "", $sourceSort = "", $sourceJoin = "") { function __construct($controller, $name, $sourceClass, $fieldList, $detailFormFields, $sourceFilter = "", $sourceSort = "", $sourceJoin = "") {
parent::__construct($controller, $name, $sourceClass, $fieldList, $detailFormFields, $sourceFilter, $sourceSort, $sourceJoin); parent::__construct($controller, $name, $sourceClass, $fieldList, $detailFormFields, $sourceFilter, $sourceSort, $sourceJoin);
$this->
$this->sourceSort = "Title"; $this->sourceSort = "Title";
$this->Markable = true; $this->Markable = true;
@ -39,21 +39,10 @@ class AssetTableField extends ComplexTableField {
if($this->folder) return $this->folder->ID; if($this->folder) return $this->folder->ID;
} }
function DetailForm() { /**
$ID = (isset($_REQUEST['ctf']['ID'])) ? Convert::raw2xml($_REQUEST['ctf']['ID']) : null; * Get the pop-up fields for the given record.
$childID = (isset($_REQUEST['ctf']['childID'])) ? Convert::raw2xml($_REQUEST['ctf']['childID']) : null; */
$childClass = (isset($_REQUEST['fieldName'])) ? Convert::raw2xml($_REQUEST['fieldName']) : null; function getCustomFieldsFor($childData) {
$methodName = (isset($_REQUEST['methodName'])) ? $_REQUEST['methodName'] : null;
if(!$childID) {
user_error("AssetTableField::DetailForm Please specify a valid ID");
return null;
}
if($childID) {
$childData = DataObject::get_by_id("File", $childID);
}
if(!$childData) { if(!$childData) {
user_error("AssetTableField::DetailForm No record found"); user_error("AssetTableField::DetailForm No record found");
return null; return null;
@ -151,24 +140,8 @@ class AssetTableField extends ComplexTableField {
// the ID field confuses the Controller-logic in finding the right view for ReferencedField // the ID field confuses the Controller-logic in finding the right view for ReferencedField
$detailFormFields->removeByName('ID'); $detailFormFields->removeByName('ID');
// add a namespaced ID instead thats "converted" by saveComplexTableField()
$detailFormFields->push(new HiddenField("ctf[childID]","",$childID));
$detailFormFields->push(new HiddenField("ctf[ClassName]","",$this->sourceClass));
$readonly = ($this->methodName == "show");
$form = new ComplexTableField_Popup($this, "DetailForm", $detailFormFields, $this->sourceClass, $readonly);
if (is_numeric($childID)) {
if ($methodName == "show" || $methodName == "edit") {
$form->loadDataFrom($childData);
}
}
if( !$folder->userCanEdit() || $methodName == "show") { return $detailFormFields;
$form->makeReadonly();
}
return $form;
} }
} }