From f525b7663b9d90ebb72438f4059376348cf185e0 Mon Sep 17 00:00:00 2001 From: Sam Georges Date: Sun, 1 Jun 2014 10:23:59 +1000 Subject: [PATCH] Fix logic flaws --- modules/backend/widgets/Form.php | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/modules/backend/widgets/Form.php b/modules/backend/widgets/Form.php index a57735bad..ae30fd965 100644 --- a/modules/backend/widgets/Form.php +++ b/modules/backend/widgets/Form.php @@ -594,12 +594,10 @@ class Form extends WidgetBase private function getOptionsFromModel($field, $fieldOptions) { if (is_array($fieldOptions) && is_callable($fieldOptions)) { - return call_user_func($fieldOptions, $this, $field); + $fieldOptions = call_user_func($fieldOptions, $this, $field); } - elseif (is_array($fieldOptions)) { - return $fieldOptions; - } - elseif (!$fieldOptions) { + + if (!is_array($fieldOptions) && !$fieldOptions) { $methodName = 'get'.studly_case($field->columnName).'Options'; if (!method_exists($this->model, $methodName) && !method_exists($this->model, 'getDropdownOptions')) throw new ApplicationException(Lang::get('backend::lang.field.options_method_not_exists', ['model'=>get_class($this->model), 'method'=>$methodName, 'field'=>$field->columnName])); @@ -616,7 +614,7 @@ class Form extends WidgetBase $fieldOptions = $this->model->$fieldOptions($field->value, $field->columnName); } - return []; + return $fieldOptions; } /**