public function actionLoadSavedSearch($id, $redirectAction = 'list') { $savedSearch = SavedSearch::getById((int) $id); ControllerSecurityUtil::resolveAccessCanCurrentUserReadModel($savedSearch); $getParams = unserialize($savedSearch->serializedData); $getParams = array_merge($getParams, array('savedSearchId' => $id)); $url = Yii::app()->createUrl($this->getModule()->getId() . '/' . $this->getId() . '/' . $redirectAction, $getParams); $this->redirect($url); }
public function testCreateAndGetAccountById() { $user = User::getByUsername('super'); $savedSearch = new SavedSearch(); $savedSearch->owner = $user; $savedSearch->name = 'Test Saved Search'; $savedSearch->serializedData = serialize(array('x', 'y')); $savedSearch->viewClassName = 'someView'; $this->assertTrue($savedSearch->save()); $id = $savedSearch->id; unset($savedSearch); $savedSearch = SavedSearch::getById($id); $this->assertEquals('Test Saved Search', $savedSearch->name); $this->assertEquals(serialize(array('x', 'y')), $savedSearch->serializedData); $this->assertEquals('someView', $savedSearch->viewClassName); $deleted = $savedSearch->delete(); $this->assertTrue($deleted); }
/** * @param array $stickyData * @param SavedDynamicSearchForm $model * @internal param $sourceData */ public static function resolveSearchFormByStickyDataAndModel($stickyData, SavedDynamicSearchForm $model) { assert('$stickyData != null && is_array($stickyData)'); if (isset($stickyData['savedSearchId']) && $stickyData['savedSearchId'] != '') { try { $savedSearch = SavedSearch::getById((int) $stickyData['savedSearchId']); $model->savedSearchName = $savedSearch->name; $model->savedSearchId = $savedSearch->id; } catch (NotFoundException $e) { } } if (isset($stickyData['anyMixedAttributes'])) { $model->anyMixedAttributes = $stickyData['anyMixedAttributes']; } if (isset($stickyData['anyMixedAttributesScope'])) { $model->setAnyMixedAttributesScope($stickyData['anyMixedAttributesScope']); } if (isset($stickyData['dynamicStructure'])) { $model->dynamicStructure = $stickyData['dynamicStructure']; } if (isset($stickyData['dynamicClauses'])) { $model->dynamicClauses = $stickyData['dynamicClauses']; } if (isset($stickyData[SearchForm::SELECTED_LIST_ATTRIBUTES]) && $model->getListAttributesSelector() != null) { $model->getListAttributesSelector()->setSelected($stickyData[SearchForm::SELECTED_LIST_ATTRIBUTES]); } if (isset($stickyData[KanbanBoard::GROUP_BY_ATTRIBUTE_VISIBLE_VALUES]) && $model->getKanbanBoard() != null && !$model->getKanbanBoard()->getClearSticky()) { $model->getKanbanBoard()->setIsActive(); $model->getKanbanBoard()->setGroupByAttributeVisibleValues($stickyData[KanbanBoard::GROUP_BY_ATTRIBUTE_VISIBLE_VALUES]); } if (isset($stickyData[KanbanBoard::SELECTED_THEME]) && $model->getKanbanBoard() != null && !$model->getKanbanBoard()->getClearSticky()) { $model->getKanbanBoard()->setSelectedTheme($stickyData[KanbanBoard::SELECTED_THEME]); } // If the sort attribute is not in get request but in sticky data, set it into get array $listModelClassName = get_class($model->getModel()); if (!isset($_GET[$listModelClassName . '_sort']) && isset($stickyData['sortAttribute'])) { if ($stickyData['sortAttribute'] != '') { $model->sortAttribute = $stickyData['sortAttribute']; } if (isset($stickyData['sortDescending'])) { if ($stickyData['sortDescending'] == true) { $model->sortDescending = ".desc"; } } } }