From d539cc8ca6cf4720e1562d5db51fd56ceae734ae Mon Sep 17 00:00:00 2001 From: Jared Hancock <jared@osticket.com> Date: Wed, 13 Aug 2014 17:15:50 -0500 Subject: [PATCH] search: Fix double creation of dynamic data --- include/class.organization.php | 6 +++--- include/class.search.php | 4 ++-- include/class.user.php | 6 +++--- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/include/class.organization.php b/include/class.organization.php index 617c48031..ae6f88784 100644 --- a/include/class.organization.php +++ b/include/class.organization.php @@ -116,17 +116,17 @@ class Organization extends OrganizationModel { return $of; } - function getDynamicData() { + function getDynamicData($create=true) { if (!isset($this->_entries)) { $this->_entries = DynamicFormEntry::forOrganization($this->id)->all(); - if (!$this->_entries) { + if (!$this->_entries && $create) { $g = OrganizationForm::getInstance($this->id, true); $g->save(); $this->_entries[] = $g; } } - return $this->_entries; + return $this->_entries ?: array(); } function getForms($data=null) { diff --git a/include/class.search.php b/include/class.search.php index 86957a764..e34d03224 100644 --- a/include/class.search.php +++ b/include/class.search.php @@ -126,7 +126,7 @@ class SearchInterface { case $model instanceof User: $cdata = array(); - foreach ($model->getDynamicData() as $e) + foreach ($model->getDynamicData($false) as $e) foreach ($e->getAnswers() as $tag=>$a) if ($tag != 'subject' && ($v = $a->getSearchable())) $cdata[] = $v; @@ -144,7 +144,7 @@ class SearchInterface { case $model instanceof Organization: $cdata = array(); - foreach ($model->getDynamicData() as $e) + foreach ($model->getDynamicData(false) as $e) foreach ($e->getAnswers() as $a) if ($v = $a->getSearchable()) $cdata[] = $v; diff --git a/include/class.user.php b/include/class.user.php index 0ec1179fa..18209bae0 100644 --- a/include/class.user.php +++ b/include/class.user.php @@ -287,10 +287,10 @@ class User extends UserModel { return $uf; } - function getDynamicData() { + function getDynamicData($create=true) { if (!isset($this->_entries)) { $this->_entries = DynamicFormEntry::forClient($this->id)->all(); - if (!$this->_entries) { + if (!$this->_entries && $create) { $g = UserForm::getNewInstance(); $g->setClientId($this->id); $g->save(); @@ -298,7 +298,7 @@ class User extends UserModel { } } - return $this->_entries; + return $this->_entries ?: array(); } function getFilterData() { -- GitLab