protected static function makeModelResultsData(RedBeanModel $model) { $moduleClassName = ModelStateUtil::resolveModuleClassNameByStateOfModel($model); $route = Yii::app()->createUrl($moduleClassName::getDirectoryName() . '/default/details/', array('id' => $model->id)); return array('href' => $route, 'label' => strval($model), 'iconClass' => 'autocomplete-icon-' . $moduleClassName); }
protected static function makeModelResultsData(RedBeanModel $model) { $moduleClassName = ModelStateUtil::resolveModuleClassNameByStateOfModel($model); return array('itemId' => $model->getClassId('Item'), 'modelClassName' => get_class($model), 'value' => strval($model), 'label' => strval($model), 'iconClass' => 'autocomplete-icon-' . $moduleClassName); }
/** * Given a partial term, search across modules that support global search. * @param string $partialTerm * @param integer $pageSize * @param User $user */ public static function getGlobalSearchResultsByPartialTerm($partialTerm, $pageSize, User $user, $scopeData = null) { assert('is_string($partialTerm)'); assert('is_int($pageSize)'); assert('$user->id > 0'); assert('$scopeData == null || is_array($scopeData)'); $modelClassNamesAndSearchAttributeData = self::makeModelClassNamesAndSearchAttributeData($partialTerm, $user, $scopeData); if (empty($modelClassNamesAndSearchAttributeData)) { return array(array('href' => '', 'label' => Zurmo::t('Core', 'No results found'), 'iconClass' => '')); } $dataProvider = new RedBeanModelsDataProvider('anId', null, false, $modelClassNamesAndSearchAttributeData); $data = $dataProvider->getData(); if (empty($data)) { return array(array('href' => '', 'label' => Zurmo::t('Core', 'No results found'), 'iconClass' => '')); } $autoCompleteResults = array(); foreach ($data as $model) { $moduleClassName = ModelStateUtil::resolveModuleClassNameByStateOfModel($model); $moduleLabel = $moduleClassName::getModuleLabelByTypeAndLanguage('Singular'); $route = Yii::app()->createUrl($moduleClassName::getDirectoryName() . '/default/details/', array('id' => $model->id)); $autoCompleteResults[] = array('href' => $route, 'label' => strval($model), 'iconClass' => 'autocomplete-icon-' . $moduleClassName); } return $autoCompleteResults; }