Esempio n. 1
0
 private function makeDataCollectionAndResolveSavedSearch($searchModel, $stickySearchKey = null, $setSticky = true)
 {
     $dataCollection = new SearchAttributesDataCollection($searchModel);
     if ($searchModel instanceof SavedDynamicSearchForm) {
         $getData = GetUtil::getData();
         if ($stickySearchKey != null && isset($getData['clearingSearch']) && $getData['clearingSearch']) {
             StickySearchUtil::clearDataByKey($stickySearchKey);
         }
         if ($stickySearchKey != null && null != ($stickySearchData = StickySearchUtil::getDataByKey($stickySearchKey))) {
             SavedSearchUtil::resolveSearchFormByStickyDataAndModel($stickySearchData, $searchModel);
             SavedSearchUtil::resolveSearchFormByStickySortData($getData, $searchModel, $stickySearchData);
             SearchUtil::resolveSearchFormByStickyFilterByStarredData($getData, $searchModel, $stickySearchData);
             $dataCollection = new SavedSearchAttributesDataCollection($searchModel);
         } else {
             SavedSearchUtil::resolveSearchFormByGetData($getData, $searchModel);
             if ($searchModel->savedSearchId != null) {
                 $dataCollection = new SavedSearchAttributesDataCollection($searchModel);
             }
         }
         if ($stickySearchKey != null && ($setSticky || $searchModel->getKanbanBoard() != null && $searchModel->getKanbanBoard()->getClearSticky())) {
             if ($stickySearchData == null) {
                 $stickySearchData = array();
             }
             SavedSearchUtil::setDataByKeyAndDataCollection($stickySearchKey, $dataCollection, $stickySearchData);
         }
         $searchModel->loadSavedSearchUrl = Yii::app()->createUrl($this->getModule()->getId() . '/' . $this->getId() . '/list/');
     }
     return $dataCollection;
 }
Esempio n. 2
0
 /**
  * @depends testMakeSavedSearchBySearchForm
  */
 public function testResolveSearchFormByGetData()
 {
     $savedSearches = SavedSearch::getByName('myTest');
     $this->assertEquals(1, count($savedSearches));
     $getData = array('savedSearchId' => $savedSearches[0]->id, 'anyMixedAttributes' => 'a search', 'anyMixedAttributesScope' => 'some', 'dynamicStructure' => '1 or 5', 'dynamicClauses' => array('a', 'b'), SearchForm::SELECTED_LIST_ATTRIBUTES => array('aaaMember', 'aaaMember2'));
     $searchForm = new AAASavedDynamicSearchFormTestModel(new AAA());
     $listAttributesSelector = new ListAttributesSelector('AListView', 'TestModule');
     $searchForm->setListAttributesSelector($listAttributesSelector);
     $searchForm->setKanbanBoard(new KanbanBoard(new AAA(), 'industry'));
     SavedSearchUtil::resolveSearchFormByGetData($getData, $searchForm);
     $this->assertEquals('myTest', $searchForm->savedSearchName);
     $this->assertEquals('abcdef', $searchForm->anyMixedAttributes);
     $this->assertEquals('xyz', $searchForm->getAnyMixedAttributesScope());
     $this->assertEquals('1 or 6', $searchForm->dynamicStructure);
     $this->assertEquals(array('a', 'b'), $searchForm->dynamicClauses);
     $this->assertEquals(array('aaaMember', 'aaaMember2'), $searchForm->getListAttributesSelector()->getSelected());
     $this->assertEquals(array('c', 'd'), $searchForm->getKanbanBoard()->getGroupByAttributeVisibleValues());
     $this->assertEquals('red', $searchForm->getKanbanBoard()->getSelectedTheme());
 }