Merge pull request #26 from unclecheese/patch-1

BUGFIX: Use config layer to check for decorated $db fields
This commit is contained in:
Ed Chipman 2013-01-31 15:48:36 -08:00
commit 3e4d5b5259

View File

@ -149,12 +149,14 @@ class GridFieldSortableRows implements GridField_HTMLProvider, GridField_ActionP
$table=false; $table=false;
$class=$gridField->getModelClass(); $class=$gridField->getModelClass();
if(!empty($class::$db) && array_key_exists($sortColumn, $class::$db)) { $db = Config::inst()->get($class, "db", CONFIG::UNINHERITED);
if(!empty($db) && array_key_exists($sortColumn, $db)) {
$table=$class; $table=$class;
}else { }else {
$classes=ClassInfo::ancestry($class, true); $classes=ClassInfo::ancestry($class, true);
foreach($classes as $class) { foreach($classes as $class) {
if(!empty($class::$db) && array_key_exists($sortColumn, $class::$db)) { $db = Config::inst()->get($class, "db", CONFIG::UNINHERITED);
if(!empty($db) && array_key_exists($sortColumn, $db)) {
$table=$class; $table=$class;
break; break;
} }
@ -264,14 +266,15 @@ class GridFieldSortableRows implements GridField_HTMLProvider, GridField_ActionP
}else { }else {
//Find table containing the sort column //Find table containing the sort column
$table=false; $table=false;
$class=$gridField->getModelClass(); $class=$gridField->getModelClass();
$db = Config::inst()->get($class, "db", CONFIG::UNINHERITED);
if(!empty($class::$db) && array_key_exists($sortColumn, $class::$db)) { if(!empty($db) && array_key_exists($sortColumn, $db)) {
$table=$class; $table=$class;
}else { }else {
$classes=ClassInfo::ancestry($class, true); $classes=ClassInfo::ancestry($class, true);
foreach($classes as $class) { foreach($classes as $class) {
if(!empty($class::$db) && array_key_exists($sortColumn, $class::$db)) { $db = Config::inst()->get($class, "db", CONFIG::UNINHERITED);
if(!empty($db) && array_key_exists($sortColumn, $db)) {
$table=$class; $table=$class;
break; break;
} }