public function testResolveSelectedListAttributesForSearchModelFromSourceData() { $model = new AAASearchFormTestModel(new A()); $listAttributesSelector = new ListAttributesSelector('AListView', 'TestModule'); $model->setListAttributesSelector($listAttributesSelector); $dataCollection = new SavedSearchAttributesDataCollection($model); $getArrayName = 'someArray'; $dataCollection->resolveSelectedListAttributesForSearchModelFromSourceData(); $this->assertEquals(array('name'), $model->getListAttributesSelector()->getSelected()); //Test passing a value in the GET $_GET['AAASearchFormTestModel'][SearchForm::SELECTED_LIST_ATTRIBUTES] = 'notAnArray'; $dataCollection->resolveSelectedListAttributesForSearchModelFromSourceData(); $this->assertEquals(array('name'), $model->getListAttributesSelector()->getSelected()); $_GET['AAASearchFormTestModel'][SearchForm::SELECTED_LIST_ATTRIBUTES] = array('All'); $dataCollection->resolveSelectedListAttributesForSearchModelFromSourceData(); $this->assertEquals(array('All'), $model->getListAttributesSelector()->getSelected()); $_GET['AAASearchFormTestModel'][SearchForm::SELECTED_LIST_ATTRIBUTES] = array('name', 'a'); $dataCollection->resolveSelectedListAttributesForSearchModelFromSourceData(); $this->assertEquals(array('name', 'a'), $model->getListAttributesSelector()->getSelected()); }
protected function setStickyData($searchModel, $stickySearchKey = null, $setSticky = true, $sourceData) { if ($searchModel instanceof SavedDynamicSearchForm) { if ($stickySearchKey != null && isset($sourceData['clearingSearch']) && $sourceData['clearingSearch']) { StickySearchUtil::clearDataByKey($stickySearchKey); } $dataCollection = new SavedSearchAttributesDataCollection($searchModel); if ($stickySearchKey != null && null != ($stickySearchData = StickySearchUtil::getDataByKey($stickySearchKey))) { SavedSearchUtil::resolveSearchFormByStickyDataAndModel($stickySearchData, $searchModel); SavedSearchUtil::resolveSearchFormByStickySortData($sourceData, $searchModel, $stickySearchData); SearchUtil::resolveSearchFormByStickyFilterByStarredData($sourceData, $searchModel, $stickySearchData); SearchUtil::resolveSearchFormByStickyFilteredByData($sourceData, $searchModel, $stickySearchData); $dataCollection = new SavedSearchAttributesDataCollection($searchModel); } else { SavedSearchUtil::resolveSearchFormByData($sourceData, $searchModel); if ($searchModel->savedSearchId != null) { $dataCollection = new SavedSearchAttributesDataCollection($searchModel); } } if ($stickySearchKey != null && ($setSticky || $searchModel->getKanbanBoard() != null && $searchModel->getKanbanBoard()->getClearSticky())) { if ($stickySearchData == null) { $stickySearchData = array(); } $dataCollection->setSourceData($sourceData); SavedSearchUtil::setDataByKeyAndDataCollection($stickySearchKey, $dataCollection, $stickySearchData); } $searchModel->loadSavedSearchUrl = Yii::app()->createUrl($this->getModule()->getId() . '/' . $this->getId() . '/list/'); } }