From fa5af563846a4a3f7743e6592e31d8f525df5a77 Mon Sep 17 00:00:00 2001 From: Ingo Schommer Date: Tue, 13 Apr 2010 02:01:39 +0000 Subject: [PATCH] MINOR: Boundary condition check in TableListField for more helpful errors. (from r95543) (from r98088) git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@102580 467b73ca-7a2a-4603-9d3b-597d59a354a9 --- forms/TableListField.php | 27 +++++++++++++++++++++------ 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/forms/TableListField.php b/forms/TableListField.php index 801689c48..24c62838c 100755 --- a/forms/TableListField.php +++ b/forms/TableListField.php @@ -408,16 +408,31 @@ JS * * @param $query SS_Query */ - function setCustomQuery($query) { - $this->customQuery = $query; + function setCustomQuery(SQLQuery $query) { + // The type-hinting above doesn't seem to work consistently + if($query instanceof SQLQuery) { + $this->customQuery = $query; + } else { + user_error('TableList::setCustomQuery() should be passed a SQLQuery', E_USER_WARNING); + } } - function setCustomCsvQuery($query) { - $this->customCsvQuery = $query; + function setCustomCsvQuery(SQLQuery $query) { + // The type-hinting above doesn't seem to work consistently + if($query instanceof SQLQuery) { + $this->customCsvQuery = $query; + } else { + user_error('TableList::setCustomCsvQuery() should be passed a SQLQuery', E_USER_WARNING); + } } - function setCustomSourceItems($items) { - $this->customSourceItems = $items; + function setCustomSourceItems(DataObjectSet $items) { + // The type-hinting above doesn't seem to work consistently + if($items instanceof DataObjectSet) { + $this->customSourceItems = $items; + } else { + user_error('TableList::setCustomSourceItems() should be passed a DataObjectSet', E_USER_WARNING); + } } function sourceItems() {