From 81d02259281bb13ac720451af6792b91cd04405c Mon Sep 17 00:00:00 2001 From: Samuel Georges Date: Sat, 28 Feb 2015 22:07:06 +1100 Subject: [PATCH] Allow query to be completely swapped out using extendQuery Add HTML array support to valueFrom (without relations) --- modules/backend/widgets/Lists.php | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/modules/backend/widgets/Lists.php b/modules/backend/widgets/Lists.php index fbac0fc41..a43f9eaa7 100644 --- a/modules/backend/widgets/Lists.php +++ b/modules/backend/widgets/Lists.php @@ -2,6 +2,7 @@ use Db; use HTML as Html; +use Str; use App; use Lang; use Input; @@ -462,8 +463,12 @@ class Lists extends WidgetBase /* * Extensibility */ - Event::fire('backend.list.extendQuery', [$this, $query]); - $this->fireEvent('list.extendQuery', [$query]); + if ( + ($event = $this->fireEvent('list.extendQuery', [$query], true)) || + ($event = Event::fire('backend.list.extendQuery', [$this, $query], true)) + ) { + return $event; + } return $query; } @@ -731,7 +736,11 @@ class Lists extends WidgetBase * Handle taking value from model attribute. */ elseif ($column->valueFrom) { - $value = $record->{$column->valueFrom}; + $keyParts = Str::evalHtmlArray($column->valueFrom); + $value = $record; + foreach ($keyParts as $key) { + $value = $value->{$key}; + } } /* * Otherwise, if the column is a relation, it will be a custom select,