Merge pull request #93 from hailwood/patch-1

Support widget forms with InheritSidebar
This commit is contained in:
☃ Stephen Shkardoon ☃ 2015-09-22 13:44:40 +12:00
commit 17c94ff9ce

View File

@ -28,11 +28,17 @@ class WidgetContentControllerExtension extends Extension {
public function handleWidget() { public function handleWidget() {
$SQL_id = $this->owner->getRequest()->param('ID'); $SQL_id = $this->owner->getRequest()->param('ID');
if(!$SQL_id) return false; if(!$SQL_id) return false;
/** @var SiteTree $widgetOwner */
$widgetOwner = $this->owner->data();
while($widgetOwner->InheritSideBar && $widgetOwner->Parent()->exists()){
$widgetOwner = $widgetOwner->Parent();
}
// find WidgetArea relations // find WidgetArea relations
$widgetAreaRelations = array(); $widgetAreaRelations = array();
$hasOnes = $this->owner->data()->has_one(); $hasOnes = $widgetOwner->has_one();
if(!$hasOnes) { if(!$hasOnes) {
return false; return false;
} }
@ -51,7 +57,8 @@ class WidgetContentControllerExtension extends Extension {
break; break;
} }
$widget = $this->owner->data()->$widgetAreaRelation()->Widgets(
$widget = $widgetOwner->$widgetAreaRelation()->Widgets(
sprintf('"Widget"."ID" = %d', $SQL_id) sprintf('"Widget"."ID" = %d', $SQL_id)
)->First(); )->First();
} }